客户端的作用就是捕获未处理异常, 发送异常到服务端。 关于捕获未处理异常的方法参考 http://www.cnblogs.com/youring2/archive/2012/04/25/2469974.html  http://www.cnblogs.com/eaglet/archive/2009/02/17/1392191.html 这两篇博客。
总结下来对于web程序来说, 捕获未处理异常有两种方式:
1. 定义一个HttpModule, 在这个module的context_Error方法中来捕获未处理的异常。 
2. 在Global.asax中有一个Application_Error的方法, 当程序发生未处理异常的时候, 会调用这个方法。 
对于以上两种方式, 以上两篇博客也做了对比, 对异常的捕获, HttpModule会优于Global,同时从编程的角度来说, 如果使用Global, 那就意味着代码侵入。 所以最后决定采用了HttpModule的方式。
public class ErrorLogModule : IHttpModule
    {
 
        #region IHttpModule Members
 
        public void Dispose()
        {
        }
 
        public void Init(HttpApplication context)
        {
            context.Error += context_Error;
        }
 
        #endregion
 
        private void context_Error(object sender, EventArgs e)
        {
            HttpApplication application = (HttpApplication) sender;
            ClientErrorEntity errorMessage = new ClientErrorEntity(application.Server.GetLastError().GetBaseException(),
                application.Context);
            SendErrorEntity.SendError(errorMessage);
        }
    } 
View Code

相关文章:

  • 2021-11-09
  • 2021-06-21
  • 2021-10-11
  • 2022-01-09
  • 2022-12-23
  • 2021-09-01
  • 2022-12-23
  • 2021-11-18
猜你喜欢
  • 2021-12-15
  • 2021-08-12
  • 2021-12-04
  • 2021-06-08
  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案