using System;
using System.Web;
namespace WebApplication1
{
/// <summary>
/// 错误筛选器。
/// Error. 不确定顺序引发的筛选器。此事件标志着有未处理的异常。
/// </summary>
public class ExceptionModule : IHttpModule
{
public ExceptionModule()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string ModuleName
{
get
{
return "ExceptionModule";
}
}
public virtual void Init(HttpApplication app)
{
// Error. 此事件标志着有未处理的异常
app.Error += new EventHandler(OnErrorRequest);
}
public void OnErrorRequest(object s, EventArgs e)
{
HttpContext Context = ((HttpApplication)s).Context;
HttpServerUtility Server = Context.Server;
// 生成一个Exception对象
// "Unhandled Error":解释异常原因的错误信息
Exception lex = new Exception("Unhandled Error", Server.GetLastError());
// 生成一个特殊Exception对象[一般错误],并且设置Log信息。
ExceptionLogController objExceptionrLog = new ExceptionLogController();
// 把它存储到LoggingProvider对象中
objExceptionrLog.AddLog(lex);
}
public virtual void Dispose()
{
}
}
}