如何配置ELMAH使用Windows Azure工作?我得到Elmah.axd 404 [英] How to configure ELMAH to work with Windows Azure? I get a 404 on Elmah.axd

查看:165
本文介绍了如何配置ELMAH使用Windows Azure工作?我得到Elmah.axd 404的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Windows Azure上运行的ASP.NET MVC Web角色,并在web.config中已经安装ELMAH正常。我也有我的Global.asax忽略*个.axd路线。在当地,我能够加载/elmah.axd,但是当我部署到Azure中,我该网页上获得了404。有没有人得到ELMAH在Azure上工作?

I have an ASP.NET MVC web role running on Windows Azure and have setup ELMAH properly in the web.config. I also have my global.asax ignore *.axd routes. Locally, I am able to load /elmah.axd, however when I deploy to Azure, I get a 404 on that page. Has anyone gotten ELMAH working on Azure?

推荐答案

Azure是基于Windows Server 2008和IIS7上。这意味着你需要填充的web.config文件的system.webServer部分。

Azure is based on Windows Server 2008 and IIS7. This means that you need to populate the system.webServer part of the web.config file.

包含ELMAH源$ C ​​$ C示例文件包含您需要把细节。

The sample file included with elmah's source code contains the details that you need to put in.

<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线,和一般的部分应包含大多数,如果不是所有这些元素的反正。

There are 2 elmah lines in the above block of xml that you will need to include, and the section in general should contain most if not all of those elements anyway.

编辑:不再需要,因为这是现在是默认设置:

No longer required as this is now on by default:

<击>
对于ELMAH工作,你还需要修改下面一行在ServiceDefinition.csdef中的文件:

For Elmah to work you will also need to modify the following line in your ServiceDefinition.csdef file:

<WebRole name="WebRole" enableNativeCodeExecution="true">

这篇关于如何配置ELMAH使用Windows Azure工作?我得到Elmah.axd 404的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆