我正在尝试将一个在Controller中捕获的异常发送到trace.axd页面,但我似乎无法弄明白。 我有
<trace enabled="true" localOnly="false" mostRecent="true" pageOutput="false" />
web.config中的,我对异常的反应是
catch (Exception e)
{
ViewData["error"] += "Is not number!";
Trace.TraceError(e.ToString());
Trace.TraceError(e.StackTrace);
return View();
}
但是,我无法在trace.axd页面上的任何地方找到这些字符串。那么如何让他们到那儿?
中学,我想问一下,我应该如何关闭跟踪没有问题(意味着那些我个人不会从某种方法发送的)请求,因为他们只是淹没我的踪迹并尽快删除那些偶然的错误报告,而不是有人注意到它们
提前致谢。
答案 0 :(得分:4)
我猜测你的问题是你正在使用System.Diagnostics.Trace
类而不是ASP.NET的跟踪机制,并且它没有设置为将跟踪消息路由到trace.axd
。尝试使用Controller.HttpContext.Trace
对象进行跟踪。
或者,尝试通过将以下代码段添加到System.Diagnostics.Trace
来将web.config
路由到ASP.NET跟踪:
<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>