您的位置:首页 > 其它

.Net分布式异常报警系统-客户端及服务端API

2015-08-24 22:31 330 查看

客户端

客户端的作用就是捕获未处理异常, 发送异常到服务端。 关于捕获未处理异常的方法参考 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 HttpResponseMessage Post([FromBody]ErrorEntityDto errorEntity)
{
if (errorEntity != null && !string.IsNullOrWhiteSpace(errorEntity.Id))
{
if (RedisHelper.EnqueueItemOnList("ErrorEntityQueue", errorEntity.Id))    //先将ErrorEntity.Id放入到队列中,确保顺序不会变
{
if (RedisHelper.Set(errorEntity.Id, errorEntity))  //将实体添加到Redis中
{
return ReturnPlainText("ok");
}
return ReturnPlainText("set  error");
}
return ReturnPlainText("add item to list error");
}
return ReturnPlainText("modle error");
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: