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

asp.net-mvc – 如何阻止Elmah伐木?

发布时间:2020-12-16 04:00:23 所属栏目:asp.Net 来源:网络整理
导读:我在Azure网站上使用Elmah.MVC 2和MVC3,ASP.NET 4.5. 我已将其设置为通过web.config记录到Web服务器上的XML文件.这一切都有效.但是我想暂时停止它,因为我认为它可能会减慢Web服务器的速度,因为它需要花时间编写这些错误文件.我打算登录到SQL Server.但是现在
我在Azure网站上使用Elmah.MVC 2和MVC3,ASP.NET 4.5.

我已将其设置为通过web.config记录到Web服务器上的XML文件.这一切都有效.但是我想暂时停止它,因为我认为它可能会减慢Web服务器的速度,因为它需要花时间编写这些错误文件.我打算登录到SQL Server.但是现在我需要阻止艾玛.

我的Web.config Elmah部分是:

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

<add key="elmah.mvc.disableHandler" value="true" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.allowedUsers" value="Admin" />
<add key="elmah.mvc.route" value="elmah" />

<httpModules>
  <add name="ErrorLog" type="Elmah.ErrorLogModule,Elmah" />
  <add name="ErrorMail" type="Elmah.ErrorMailModule,Elmah" />
  <add name="ErrorFilter" type="Elmah.ErrorFilterModule,Elmah" />
</httpModules>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <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>

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

我以为这条线阻止了它:

<add key="elmah.mvc.disableHandler" value="true" />

但唉不是.但是我无法访问Elmah页面,即/ Elmah只是将我返回登录页面.

我该如何阻止Elmah伐木?

谢谢.

编辑1:

它可能与Global.asa中的这个有关:

//filters.Add(new ElmahHandledErrorLoggerFilter());
filters.Add(new HandleErrorAttribute());

第一行被注释掉了,因为我不相信它在V2中是必需的.现在所有的错误处理都与Elmah合并了.

解决方法

只需删除< errorLog>来自< elmah>的元素部分.或者评论出来.这将禁用日志记录功能,您只需添加那些< errorLog>即可在需要时恢复功能.元素又回来了.这样,您就不必删除任何可能在以后想要恢复功能时导致问题的核心Elmah组件,特别是如果您遗漏了某些内容.

(编辑:李大同)

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

    推荐文章
      热点阅读