這篇文章主要介紹了服務器安全狗導致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相關的配置面板,將其改成完整模式,沒有任何權限限制,系統默認級別