gpt4 book ai didi

elmah - 以声明方式配置 ELMAH 过滤

转载 作者:行者123 更新时间:2023-12-04 02:20:44 30 4
gpt4 key购买 nike

我想在我的 web.config 中以声明方式过滤 ELMAH 结果。我无法成功过滤掉我想要的一些异常。 HttpStatusCode 已成功过滤,但我仍无法通过 ViewStateExceptions。有很多关于如何配置它的帖子,但是我不确定如何将多个过滤器放入配置部分,并且文档在这一点上似乎有点薄。目前我的 web.config 中有以下配置。我想知道,有人可以指出:

  1. 如果我有正确定义的东西来过滤掉 ViewStateExceptions 和
  2. 如何准确定义节点结构以正确处理所有过滤器。

    <errorFilter>
    <test>
    <equal binding="HttpStatusCode" value="404" type="Int32" />
    <test>
    <test>
    <and>
    <is-type binding="Exception" type="System.Web.HttpException" />
    <regex binding='Exception.Message' pattern='invalid\s+viewstate' caseSensitive='false' />
    </and>
    </test>
    <test>
    <and>
    <is-type binding="Exception" type="System.Web.UI.ViewStateException" />
    <regex binding='Exception.Message' pattern='invalid\s+viewstate' caseSensitive='false' />
    </and>
    </test>
    </errorFilter>

最佳答案

在你的最后一个测试中尝试绑定(bind)到 BaseException,而不是 Exception。

重新你的结构尝试这样的事情:

  <test>
<or>
<regex binding="BaseException.Message" pattern="Request timed out."/>
<and>
<equal binding="Context.Request.ServerVariables['REMOTE_ADDR']" value="::1" type="String"/>
<regex binding="Exception" pattern="hello"/>
</and>
<regex binding="BaseException.Message" pattern="The remote host closed the connection."/>
</or>
</test>

应该可以。将所有测试包装在 <or> 中,然后任何必须都为真的测试,包装在 <and> 中.

关于elmah - 以声明方式配置 ELMAH 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503109/

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