2009-07-02 8 views
4

私はController to trace.axdページでキャッチされた例外を送信しようとしていますが、私はそれを理解できないようです。 私は、web.configファイルにasp.net mvc exceptions tracing

<trace enabled="true" localOnly="false" mostRecent="true" pageOutput="false" />

を持っており、例外への私のinteded反応は、私はどこでもtrace.axdページにそれらの文字列のいずれかを見つけることができない、しかし

catch (Exception e) 
{ 
    ViewData["error"] += "Is not number!"; 
    Trace.TraceError(e.ToString()); 
    Trace.TraceError(e.StackTrace); 
    return View(); 
} 

です。だから、そこにそこに入る方法は?

セカンダリでは、問題を起こさないトレース(私が個人的に何らかの方法で送信しないもの)をオフにする必要があります。誰かが通知するよりも早く自分のトレースを氾濫させ、それら。

ありがとうございます。

答えて

4

私はあなたの問題はあなたの代わりにASP.NETのトレース・メカニズムのSystem.Diagnostics.Traceクラスを使用していて、それがtrace.axdへのルートのトレースメッセージに設定されていないということです推測。トレースにはController.HttpContext.Traceオブジェクトを使用してみてください。

また、web.configに次のコードを追加することで、トレースASP.NETにSystem.Diagnostics.Traceをルーティングしてみてください。

<system.diagnostics> 
    <trace> 
    <listeners> 
     <add name="WebPageTraceListener" 
      type="System.Web.WebPageTraceListener, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
    </listeners> 
    </trace> 
</system.diagnostics> 
+0

グレート、それは動作しますが、よろしくお願いします。私はちょうど質問したい、あなたはまた私の2番目の質問の解決策を知っていますか? – Trimack

+0

@Trimack:TraceSwitchクラスを見てください。設定オプションを使用して、さまざまなカテゴリのトレースメッセージを無効にすることができます。http://msdn.microsoft.com/en-us/library/system.diagnostics.traceswitch.aspx –