我有一个应用程序,我想将异常记录到文件中,我不想更改任何代码。我只想要一个可以添加代码的组件,它将开始记录异常。我怎么能这样做?
答案 0 :(得分:2)
在ASP.NET中,您可以创建自定义IHttpModule
实现,并在其中Init
方法注册HttpApplication.Error
的事件处理程序。触发错误事件时根据需要记录异常。
using System;
using System.Web;
namespace ConsoleApplication1
{
public class ErrorLoggingModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.Error += OnError;
}
private static void OnError(object sender, EventArgs e)
{
Exception ex = HttpContext.Current.Server.GetLastError();
// log exception here...
}
public void Dispose()
{
}
}
}
答案 1 :(得分:1)
ELMAH(错误记录模块和处理程序)
是应用程序范围的错误记录 完全可插拔的设施。 它可以动态添加到 运行ASP.NET Web应用程序,或 甚至所有ASP.NET Web应用程序都在 机器,没有任何需要 重新编译或重新部署。
答案 2 :(得分:0)
ASP.NET Health Monitoring非常有用,你只需要在web.config中配置它。