Elmah不在IIS7服务器上工作

Jer*_*ose 7 sql-server asp.net-mvc iis-7 elmah asp.net-mvc-3

我让Elmah在我的MVC 3网站上运行,并且让所有东西都在我的本地开发机器上运行.

但是,现在我已将我的网站移动到我的生产服务器,Elmah无法正常工作.我在我的实时服务器上使用相同的SQL帐户(和连接字符串),就像我在本地计算机上使用的那样.EF4连接(与Elmah相同)工作得很好.

我在偶数日志或SQL事件探查器中看不到任何内容.我也没有在SQL日志中看到任何错误.

关于可能发生的事情的任何想法,或者我如何解决这个问题?

提前致谢.

DEH*_*AAS 18

ELMAH正在使用HttpModule来记录错误.对于IIS6,HttpModules在web.config文件中的System.Web下注册.但是,对于IIS7 +,HttpModules应该在system.webserver命名空间下注册.嵌入式开发Web服务器将使用IIS6配置.

IIS6:

  <system.web>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
    </httpModules>
  </system.web>
Run Code Online (Sandbox Code Playgroud)

IIS7:

  <system.webServer>
    <modules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
    </modules>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案:)修复了我的问题.如果您还想查看错误日志页面"elmah.axd",我希望添加一个附注.由于新的iis 7集成模式,您还必须注册在<system.webServer>下而不是在<system.web>下处理elmah.axd的httpModule.在集成模式下,必须在统一的<system.webServer>/<handlers>中指定ASP.NET处理程序映射.见http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/ (2认同)