gpt4 book ai didi

asp.net-mvc - Elmah 基本设置问题/问题

转载 作者:行者123 更新时间:2023-12-02 09:03:11 26 4
gpt4 key购买 nike

我发现这并不容易设置;要么设置配置中缺少步骤,要么它无法正常工作,要么我实际上并不理解它的用途。这里肯定有什么问题。问题显然一定出在我身上。我只是无法让这个发挥作用。这就是我所做的。

创建一个全新的 mvc 应用程序。将以下内容放置在 About.aspx 页面上。

<% 抛出新的异常("blah"); %> 将内容放在这里。

点击页面,出现异常蓝屏。

将elmah.dll添加到bin目录中。

添加到Web.config文件configurationSections:

<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>

将以下内容添加到 httpHandlers 部分:

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

添加到模块部分:

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

添加到处理程序部分:

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

添加 elmah 部分:

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

这里令人好奇的是,该字符串的“.XmlFileErrorLog”部分显示为红色,作为 ReSharper 错误,表明它“无法解析符号“.ctor””,当我在 Reflector 中查看 elmah.dll 时,会显示此错误对象在两个公共(public)构造函数中需要“字符串”或“IDicationary”。

我正在运行带有 VS 2008 的 Windows Vista x64。将 App_Data 的权限设置为Everyone as Co_Owner。

http://localhost:xxxx/elmah.axd页面确实出现并且没有显示任何错误。当我再次点击“关于”页面时,我仍然看到黄色屏幕,elmah.axd 仍然显示 app_data 文件夹没有错误。

我用自定义错误替换并创建了关联页面:

<customErrors mode="On" defaultRedirect="GenericErrorPage.htm" />

自定义页面已显示,但 elmah.axd 仍显示“无错误”。 App_data 仍然为空!

作为启动此设置的源,我使用了:code.google.com/p/elmah/wiki/MVC

那么我哪里搞砸了?

~-=迈克=-~

最佳答案

检查ErrorLogModule是否存在于configuration/system.web/httpModules(如果您在开发Web服务器上)和configuration/system.webServer/modules(由 IIS7 使用)。这是我目前正在处理的项目中的 web.config 片段:

<?xml version="1.0"?>
<configuration>
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ErrorLog" />
<remove name="ErrorMail" />
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
</modules>
</system.webServer>
</configuration>

希望这有帮助

关于asp.net-mvc - Elmah 基本设置问题/问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com