Windowsのアズールで動作するようにELMAHを構成する方法?私は404 Elmah.axdに乗ります

StackOverflow https://stackoverflow.com/questions/939783

質問

私は、Windows Azureの上で実行されているASP.NET MVCのWebの役割を持っているし、web.configファイルで正しくセットアップELMAHを持っています。私も自分のglobal.asaxは* .axdルートを無視しています。局所的には、私はアズールに展開するときしかし、私はそのページに404を取得し、/elmah.axdロードすることができています。誰もがアズールに取り組んでELMAHを得ていますか?

役に立ちましたか?

解決

のAzureは、Windows Server 2008およびIIS7に基づいています。これは、web.configファイルのsystem.webServerの一部を移入する必要があることを意味します。

サンプルファイルは、ELMAHのソースコードに含まれているが、あなたがに置く必要がある詳細情報が含まれています。

<system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <modules>
    <remove name="ScriptModule" />
    <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
  </modules>
  <handlers>
    <remove name="WebServiceHandlerFactory-Integrated"/>
    <remove name="ScriptHandlerFactory" />
    <remove name="ScriptHandlerFactoryAppServices" />
    <remove name="ScriptResource" />
    <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
         type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
         type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add name="elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
  </handlers>
</system.webServer>

があり、あなたがインクルードする必要がありますXMLの上記ブロックで2つのELMAHラインがあり、一般的にはセクションでは、とにかくほとんどないにそれらの要素のすべてが含まれている必要があります。

編集:これは、デフォルトでは今あるよう必要なくなっます:

<ストライキ>

<ストライキ>:ELMAHが動作するために、また、あなたServiceDefinition.csdefファイルに次の行を変更する必要があります
<WebRole name="WebRole" enableNativeCodeExecution="true">

<ストライキ>

他のヒント

唯一許可されたユーザーは、エラー・ログを表示することができますので、

また、ファイルを保護!

<location path="admin/elmah.axd">
    <system.web>
        <authorization>
            <allow roles="Administrator" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>

私は<のhref = "https://stackoverflow.com/questions/939783/how-to-configure-elmah-to-work-with-windows-azure-i-get-によって提案されたものに(さらに考えます-404オンELMAH-AXD / 977956ここをmat1t @#977956" >)あなたは1へのリモートアクセスを設定する必要があります:

<elmah>
<security allowRemoteAccess="0" />
..............
..............
</elmah>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top