WEB站点使用企业库安全性异常解决办法

WEB站点使用企业库安全性异常解决办法
我们在WEB站点使用企业库的时候,有时候会有如下的异常产生:

安全性异常
    说明: 应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。

异常详细信息: System.Security.SecurityException: 不允许所请求的注册表访问权。

    造成这个的原因是企业库的公共项目中:Instrumentation 目录下有操作日志、性能的代码。而这些代码需要一定的权限才可以执行。

解决方案:
1、去掉这些代码。(这会是一个痛苦的经历,代码割舍不清呀)
2、给IUSR 帐户访问注册表的权限(安全问题呀!)
我们当然不推荐这2个做法:

3、运行企业库中的Install Service。但是这种方法需要安装企业库和VS.NET在服务器上。这种方法也不推荐。

我们推荐的做法:重新编译 Microsoft.Practices.EnterpriseLibrary.Common 项目,编译时把其中 Conditional Compilation Constants 设置中除 DEBUG;TRACE 外的其他项都去掉。

默认的 Conditional Compilation Constants 设置是如下几个:
DEBUG;TRACE;USEWMI;USEEVENTLOG;USEPERFORMANCECOUNTER

posted on 2005-08-22 21:05  [Fenghua]  阅读(719)  评论(0编辑  收藏  举报

导航