【问题标题】:Elmah not working on IIS7 serverElmah 无法在 IIS7 服务器上运行
【发布时间】:2011-03-22 06:32:46
【问题描述】:

我在我的 MVC 3 站点上运行 Elmah,并且一切都在我的本地开发机器上运行。

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

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

对可能发生的事情有什么想法,或者我该如何解决这个问题?

提前致谢。

【问题讨论】:

  • Elmah + MVC + IIS7 确实有效,我正在使用该组合。你用什么来存储日志? SQL 还是要归档?
  • @JK - SQL Server 2005 数据库。

标签: sql-server asp.net-mvc iis-7 asp.net-mvc-3 elmah


【解决方案1】:

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>

IIS7:

  <system.webServer>
    <modules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
    </modules>
  </system.webServer>

【讨论】:

  • 完美,这就是问题所在。我在任何地方都找不到这个,谢谢你的帮助!
  • 很好的答案 :) 也解决了我的问题。我想补充一点,以防您还想查看错误日志页面“elmah.axd”。由于新的 iis 7 集成模式,您还必须在 而不是在 下注册处理 elmah.axd 的 httpModule。在集成模式下,必须在统一的 / 中指定 ASP.NET 处理程序映射。见learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7
猜你喜欢
  • 1970-01-01
  • 2017-10-30
  • 2014-05-04
  • 2010-12-09
  • 1970-01-01
  • 2019-05-08
  • 2015-01-21
  • 2014-09-08
  • 2014-02-27
相关资源
最近更新 更多