2009-07-02 149 views
4

我想發送一個捕獲到控制器的異常到trace.axd頁面,但我似乎無法弄清楚。 我asp.net mvc異常跟蹤

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

在web.config中,我的一個例外inteded反應是

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

但是,我無法找到任何這些字符串的trace.axd頁面上的任何地方。那麼如何讓他們在那裏?

其次,我想問一下,我應該如何關閉跟蹤問題(這些問題我不親自從某種方法發出),因爲它們只是氾濫我的跟蹤並且很快移除那些偶然的錯誤報告,而不是某人注意他們。

在此先感謝。

回答

4

您的問題是,你正在使用的System.Diagnostics.Trace類,而不是ASP.NET跟蹤機制,它不是用於路由跟蹤消息trace.axd。嘗試使用Controller.HttpContext.Trace對象進行跟蹤。

或者,嘗試路由System.Diagnostics.Trace到ASP.NET中加入以下代碼段web.config跟蹤:

<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

大,它的工作原理,謝謝。我只想問,你是否也知道解決我的第二個問題? – Trimack 2009-07-03 06:42:39