質問

例外メッセージを使用してエルマのフィルタ例外に方法はありますか?

例:
「System.Web.HttpException:要求がタイムアウトしました。」私はすべてのHttpExceptionが、唯一のタイムアウトの要求をフィルタリングする必要はありません。
"System.Web.HttpExceptionは:最大要求の長さを超えました。"

私は何をしたくないと、そのための書き込み独自のコードです。だから、buildin-web.configファイルの設定?

でこれを行うことが可能です

ありがとうございます!

役に立ちましたか?

解決

はい、できます。ただ、メッセージを調べるために、正規表現を使用します。例外メッセージを比較する方法の詳細については、以下の例を参照してください。

<errorFilter>
  <test>
    <!-- http://groups.google.com/group/elmah/t/cbe82cee76cc6321 -->
    <and>
      <is-type binding='Exception'
               type='System.Web.HttpException, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' />
      <regex binding='Exception.Message'
             pattern='invalid\s+viewstate'
             caseSensitive='false' />
      <regex binding='Context.Request.UserAgent'
             pattern='Trident/4(\.[0-9])*'
             caseSensitive='false' />
    </and>
  </test>
</errorFilter>

他のヒント

あなたは醜い設定の正規表現の設定を避けるために、あなたのglobal.asaxにイベントハンドラを設定することができます:

void ErrorMail_Filtering(object sender, Elmah.ExceptionFilterEventArgs e) 
{     
    if (e.Exception.Message.Contains("Request timed out"))
        e.Dismiss(); 
}

を参照してください。エラーにフィルタリングます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top