IIS 7.5 で ELMAH を使用している WCF (.Net 3.5) サイトで問題が発生しています。これは例外メッセージです:
System.Security.SecurityException: Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
IIS7.5 での WCF と ELMAH の組み合わせであることを確認するために、VS2008 で新しい WCF サービス プロジェクトを作成し、IIS 7.5 サイトで新しいアプリケーションを作成しました。公開して問題ないことを確認しました。次に、ELMAH DLL を追加しました。まだ大丈夫です。次に、ELMAH configSection 参照を Web.config に追加しました。まだ大丈夫です。次に、ELMAH を system.web の httpHandlers と httpModules に追加しました (ええ、これは 7.5 用ではないことはわかっています)。まだ大丈夫です。次に、これを system.webServer のハンドラーとモジュールに追加しました。
<handlers>
:
<add name="Elmah" verb="POST,GET,HEAD"
path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
<modules>
:
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
そして、セキュリティ例外が発生しました。他の構成変更は行っていません。
すべてが VS dev Web サーバーを使用して機能します。開発マシンは、VS 2008 SP1 がインストールされた 2008 R2 x64 です。WCF サービスは x86 用に構築されています (元のプロジェクトが x86 であったため)。ELMAH は .Net 3.5 x86 バージョンです。IIS7.5 アプリケーション プールは、32 ビットを許可するように設定されています。
これを機能させるために何をする必要があるか考えていますか?