服务器安全狗导致ASP.NET网站运行出错的一个案例





这篇文章主要介绍了服务器安全狗导致ASP.NET网站运行出错的一个案例,最后一并给出了解决方法,需要的朋友可以参考下

字典中的关键字:“RegistryPermission”所添加的关键字:“RegistryPermission” 报错,因为服务器上安全狗对.net程序关键字过于苛刻引出报错。

今天碰到一个.net的报错,之前并没见过这种报错,也没有太多的详细信息。“/”应用程序中的服务器错误。

字典中的关键字:“RegistryPermission”所添加的关键字:“RegistryPermission”
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 已添加项。字典中的关键字:“RegistryPermission”所添加的关键字:“RegistryPermission”

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:

代码如下:
[ArgumentException: 已添加项。字典中的关键字:“RegistryPermission”所添加的关键字:“RegistryPermission”]
System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +7482408
System.Collections.Hashtable.Add(Object key, Object value) +11
System.Security.Policy.PolicyLevel.FromXml(SecurityElement e) +307
System.Security.SecurityManager.LoadPolicyLevelFromStringHelper(String str, String path, PolicyLevelType type) +207
System.Security.SecurityManager.LoadPolicyLevelFromString(String str, PolicyLevelType type) +37
System.Web.HttpRuntime.CreatePolicyLevel(String configFile, String appDir, String binDir, String strOriginUrl, Boolean& foundGacToken) +420
System.Web.HttpRuntime.SetTrustLevel(TrustSection trustSection, SecurityPolicySection securityPolicySection) +8913358
System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +186
[HttpException (0x80004005): 已添加项。字典中的关键字:“RegistryPermission”所添加的关键字:“RegistryPermission”]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8886319
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259
——————————————————————————–
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053

刚开始以为是权限还是dll文件有问题,最后才发现原来是服务器上安装了安全狗的问题

在安全狗中有一个与.net相关的配置面板,将其改成完整模式,没有任何权限限制,系统默认级别