2009-11-30 14 views
7

を取得することはできません私たちは、断続的にすぐにASP.NETアプリケーションでアプリケーションプールのリサイクルの後に次の例外を見ている:断続PolicyException:実行権限が

System.Configuration.ConfigurationErrorsException: Could not load file or assembly 'Microsoft.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418) ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418) 
File name: 'Microsoft.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ---> System.Security.Policy.PolicyException: Execution permission cannot be acquired. 
    at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) 
    at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) 
    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) 
    at System.Reflection.Assembly.Load(String assemblyString) 
    at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) 

のロードに失敗した特定のDLLは、事件から事件まで変化しますしかし、常に本体によって参照されるものである。

私たちはWindows Server 2008上でASP.NET 3.5を実行しています。これは、同じアプリケーションプール上のすべてのサイトではなく一部のサイトに影響するバッチで発生しているようです。私たちは、すべて同じコードを実行する多数のサイトを持っています。

サイトがDLLを読み込めなかった場合、次のアプリケーションプールがリサイクルされるまで、黄色い画面が表示されます。私たちはこの動作を再現することができませんでした。サイトは一度に数日または数週間(そして多くのApp Poolリサイクル)正常に動作するように見えます。

他にみたことがありますか?

更新:

私たちは、数百のサイトを設定し、アプリケーションプールをリサイクルしながら、一度繰り返し、それらをヒットする数分おきにスクリプトを記述することによって、障害を再現しようと、多くを達成することができませんでしたしましたサーバーのCPUを数日間まっすぐにロードする以外の方法もあります。

次に、ASP.NETが同様の動作を再現するように作成し、同じ例外を再現するDLLのコピーを使用して(DLLの1つをロックし、ファイルのアクセス許可を変更する)操作を試みました。

特定のDLLをロードするときにセキュリティポリシーを調整してSystem.Security.Policy.PolicyException: Execution permission cannot be acquired.をスローする方法はありますか?

+0

干渉することができ、サーバにインストールされたウイルス対策ソフトウェアから

? –

答えて

関連する問題