4

我已经设置好了,我可以浏览到 /elmah.axd 但我一直在导致所有这些错误,它不会记录任何一个,它只是说'没有记录错误'......我到底做了什么错误的?

这是我添加到 web.config 中的内容:

<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" />     
  </sectionGroup>
</configSections>

<httpHandlers>
  <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />  
</httpModules>

<elmah>
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
  <security allowRemoteAccess="yes" />
</elmah>

另外:这已经在我的 RegisterRoutes() 开始时

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我读到它对 ASP.NET MVC 1.0 来说不再重要了,据说(每个 ELMAH 网站......)

4

2 回答 2

4

配置似乎是有序的;我最好的猜测是您的 IIS Web 应用程序用户没有写入 App_Data 的权限。如果您已锁定权限,则应用程序用户将在那里拥有读取权限,但没有写入权限。

您可以打开权限或登录到 Web 路径之外的另一个目录(IMO 更安全一些),并确保在那里设置了用户的读/写权限。

于 2010-01-06T20:44:29.593 回答
4

解决方案配方

我从 nuget 安装elmahelmah on XML log虽然我可以访问http://localhost/elmah.axd,但没有得到预期的功能,但没有错误捕获。

我向 APP_DATA 文件夹中的帐户 IIS_IUSERS 授予写入权限,它开始处理 HTTP 404 错误和 MVC 基础结构之外的错误。但它没有在 mvc 中记录异常。解决方案是从 nuget 安装elmah.mvc包,并开始捕获所有异常。

如果你的配置没问题,那么只需elmah.mvc从 nuget 安装包,它应该也开始在 mvc 中存储日志,而不仅仅是 HTTP 404。

于 2013-01-03T15:13:26.307 回答