【发布时间】:2016-08-24 09:50:19
【问题描述】:
我有 VS2015 和 MVC5,我安装了 Nuget 包Elmah.MVC 但我无法让它工作。 当我提交 URL 地址时
localhost:<port>/Elmah.axd
出现错误
HTTP Error 404.0 - Not Found
在web.config中默认nugget包添加了这个
<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" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
...
<appSettings>
...
<add key="elmah.mvc.disableHandler" value="false" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="false" />
<add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
<add key="elmah.mvc.allowedRoles" value="*" />
<add key="elmah.mvc.allowedUsers" value="*" />
<add key="elmah.mvc.route" value="elmah" />
<add key="elmah.mvc.UserAuthCaseSensitive" value="true" />
</appSettings>
<system.webServer>
...
<modules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
</system.webServer>
我手动添加了这个,因为我试图修复错误并且还想将应用程序错误存储在 SQL 数据库中
<system.web>
...
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
...
</system.web>
<configuration>
...
<elmah>
<errorLog type="Elmah.SqlErrorLog, Elmah"
connectionStringName="database"
applicationName="MyAppName"/>
</elmah>
</configuration>
我错过了什么?
【问题讨论】:
-
我通常只从
/elmah而不是/elmah.axd访问我的。 -
与 /elmah 我有同样的错误
-
您的完整 web.config 是否包含有效的 ELMAH 配置? elmah.io/tools/configvalidator
标签: asp.net-mvc sql-server-2008 elmah elmah.mvc