加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:32:30 所属栏目:asp.Net 来源:网络整理
导读:我没有发现这样很容易设置;在安装配置中有一个缺失的步骤,它不能正常工作,或者我实际上并不明白它的目的。这里有一些绝对错误的东西。显然这个问题是我的问题。我只是没有得到这个工作。这是我做了什么 创建一个全新的mvc应用程序。 在About.aspx页面上放
我没有发现这样很容易设置;在安装配置中有一个缺失的步骤,它不能正常工作,或者我实际上并不明白它的目的。这里有一些绝对错误的东西。显然这个问题是我的问题。我只是没有得到这个工作。这是我做了什么

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

<%throw new Exception(“blah”); %GT;
把内容放在这里

点击页面获得黄色屏幕,例外。

将elmah.dll添加到bin目录。

添加到Web.config文件配置部分:

<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,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显示此对象需要在两个公共构造函数中的一个“字符串”或“识别符号”。

我在VS 2008中运行Windows Vista x64。将App_Data的权限设置为Everyone作为Co_Owner。

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

我用customerrors替代并创建了关联的页面:

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

自定义页面显示,但是elmah.axd仍显示“No Errors”。 App_data还是空的!

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

那我在哪里搞砸了?

? – = =迈克 – ?

解决方法

检查配置/ system.web / httpModules中是否存在ErrorLogModule(如果您在Development Web Server上使用)和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>

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读