新しいWebフォームaspnet 4.0 Webサイトを構築し、NuGetを使用してElmah 1.2をインストールしました。私はweb.configにSQL Server Expressにログするための行を追加し、関連するテーブルと3つのストアドプロシージャを作成しました。私はelmah.axd/testを打ち、elmah.axdに戻って、確かに私のエラーがログに記録されているので、ローカル(Win 7/IIS 7.5)でもうまく動作します(vs2010 devサーバとローカルIISを実行しているとき)。Elmah 1.2はWindows 2008上のSQLにログオンしませんIIS7.5統合モード(ローカルで動作します)
私はサイトを私たちのdevサーバー(Win 2008 R2/IIS 7.5)に公開します。私がelmah.axdにヒットした場合、エラーはないことがわかります。次にelmah.axd/testに行き、Elmahに戻り、エラーは表示されません。 SQLの代わりにメモリへのロギングを切り替えると、すべて正常に動作します。
サイト内のすべてのストアドプロシージャに対して、アプリケーションプールユーザーに実行権を追加しました。私はElmahConnStringと呼ばれる別の接続文字列を作成し、SAとしてログインしました。まだ運がありません。 (私は、それが壊れていることを確認するためにsaから削除しようとしました。
私のウェブ設定は次のようになっています(ほとんどがNuGetに組み込まれています)。
<configuration>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
...
<connectionStrings>
<add name="ConnString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SiteData;Integrated Security=True" />
</connectionStrings>
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ConnString" />
<security allowRemoteAccess="yes" requirePermission="false"/>
</elmah>
...
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
...
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorTweet" type="Elmah.ErrorTweetModule, Elmah" preCondition="managedHandler" />
</modules>
<handlers>
<add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
あなたは、これが一番下にそのsystem.webserverチャンクで、この問題の最もwidly与えられた答えを網羅気づくでしょう: '(
私はそれを得ることはありません、私は何をしないのですか??
これは2つの完全な時間です!まだ答えはありませんか? :P – Shawson