2011-09-27 72 views
1

將Asp.Net Web Application .Net 3.5遷移到.Net 4.0時,存在一些問題。將.net 3.5傳遞給4.0時的安全異常

看來,我們有一個Caspol安全例外,所以我們將此添加到我們的web.config:

<runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true"/> 
</runtime> 

,並沒有什麼改變。似乎我們無法在AspNet 4.0中執行「Microsoft.Web.Management.Iis」程序集。 我們在.Net 4.0中執行了caspol.exe實用程序來授予完全信任權限,但沒有成功。

當我們在應用程序池上使用本地管理員帳戶時,一切正常。 但是,當我們使用的域管理員聯繫用戶帳戶,我們得到了下面這個錯誤:

[PolicyException: Required permissions cannot be acquired.] 
     System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +6502926 
     System.Security.SecurityManager.ResolveCasPolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +99 

    [FileLoadException: Could not load file or assembly 'Microsoft.Web.Management.Iis, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)] 

我們在win2k8 R2環境ASPNET 2.0上運行,並在IIS 7.5上運行4.0。

你有什麼建議可以解決我們的問題。

謝謝

回答

1

我們給微軟打了一個電話支持來解決問題。

問題是因爲我們的網站文件託管在SAN上。此問題的框架4.0上有一個修補程序。

此修補程序目前尚未公開,但名稱爲NDP40-KB2580188-x64.exe