asp.net mvc 异常跟踪

标签 asp.net asp.net-mvc debugging logging

我正在尝试将 Controller 中捕获的异常发送到 trace.axd 页面,但我似乎无法弄清楚。
我有

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

在 web.config 中,我对异常的 react 是
catch (Exception e)
{
    ViewData["error"] += "Is not number!";
    Trace.TraceError(e.ToString());
    Trace.TraceError(e.StackTrace);
    return View();
}

但是,我在 trace.axd 页面上的任何地方都找不到这些字符串中的任何一个。那么如何让他们到达那里呢?

其次,我想问一下,我应该如何关闭没有问题的跟踪(意味着我不亲自从某些方法发送的那些)请求,因为它们只会淹没我的跟踪并更快地删除那些偶然的错误报告,而不是有人注意到它们。

提前致谢。

最佳答案

我猜您的问题是您正在使用 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>

关于asp.net mvc 异常跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072995/

相关文章:

c# - 将 C# 中的调试器附加到另一个进程

c# - 使用外部 SMTP 服务器发送邮件使用未在 Azure Web Apps 的传出 IP 中定义的 IP

ios - 如何在 monodevelop 中禁用 "profile"

Javascript function() 文字重载

javascript - 如何将 DbGeography 参数发布到 MVC?

c# - 我可以将 SimpleMembership 类加载到 EntityFramework 中吗?

asp.net-mvc - 如何在单个页面中使用两个 AntiForgeryToken 而不使用已弃用的 'Salt' 属性

mysql - 使用MYSQL在asp.net gridview中显示一周的记录

asp.net - ASP.NET中如何从页面外部获取 session 值

c# - 按顺序从 SQL 行中读取数据