首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>ASP.NET>asp.net利用全局异常处理记录异常信息
asp.net利用全局异常处理记录异常信息
来源: 发布时间:2008-08-20 发布人: 浏览: 人次   字体: [ ]  

    在我们写asp.net程序时偶尔会由于疏忽而导致有些异常没有进行处理。如果将异常详细信息提示给用户会带来不安全因素,如果不提示详细信息又会给用户报告异常带来麻烦。虽然可以通过配置customErrors mode来实现只有管理员可以查看错误,但发现问题的时间可能会比较长。通过全局异常处理就可以在异常发生时立即记录异常,或直接发送邮件向管理员报告,以在最快的速度发现并处理异常。

要为ASP.NET应用程序添加全局异常处理主要是添加HttpApplication的Error事件的处理。这与在BeginRequest事件中进行URL重写方法类似。先建一个继承System.Web.IHttpModule的类。然后添加Init方法和ShowError方法。

namespace Snowdream
{
    public class HttpModule : System.Web.IHttpModule
    {
        public void Init(System.Web.HttpApplication context)
        {
            context.Error += new EventHandler(ShowError);
        }

        private void ShowError(object sender, EventArgs e)
        {
            //在这里进行异常处理
        }
    }
}
然后还需要配置web.config的httpModules使之生效.

我现在比较喜欢的做法是将异常的详细信息记录在数据库中,然后返回一个编号,再将页面重定向到自己写的错误提示页,将这个编号提示给用户,用户如果要报告错误只需提供该错误编号,管理员就能在后台中找到错误的详细信息并进行修改。

下面说的是两种我在做全局异常处理时碰到的问题及我的解决方案

第一种是获取异常hResult,由于是私有属性不能直接访问,解决方法是通过(int)System.Runtime.InteropServices.Marshal.GetHRForException(exception)来获取

第二种问题是记录了很多不是由于ASP.NET应用程序引发的错误,比如用户键入一个错误的URL,异常处理系统会记录一个“文件不存在。”的错误,而这些错误记录不仅不能真正反映出ASP.NET应用程序的异常反而会给管理员带来更多麻烦。我的解决方法是通过判断if(exception is System.Web.HttpException)来过滤这些HttpException.


相 关 文 章   发布商链接
·asp.net适用于IE或FireFox的禁用页面...
·实例讲解asp.net生成高质量缩略图的...
·DropDownList服务器控件报无效Select...
·解决Asp.net的TREEVIEW控件只显示为...
·举例说明VS2005如何调用不带参数和带...
·实例讲解为GridView/DataGrid整行添...
·实例讲解GridView/DataGri同时支持行...
·Asp.net实现加密和解密的运算代码实...
·Asp.net+AJAX实现的省市县无刷新级联...
·实例讲解asp.net一次预览并上传多张...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·如何实现在DataList控件中的D...
·实例讲解asp.net生成高质量缩
·asp.net适用于IE或FireFox的...
·举例详解C#代码与javaScript...
·asp.net无刷新上传文件
·在Ie中保存图片时出现"800700...
·asp.net文件上传大小限制的控
·asp.net动态生成txt文本文件...
·asp.net实现将Excel文件导入...
·实现多列,带图片的DropDownLi...
·javascript实现TreeView 控件
·ASP.NET配置Word的操作权限
·让FileUpload控件在IE和FireF...
·ASP.NET实现Office文档的分类
·asp.net文件下载显示进度条的
热 门 文 章
·asp.net(C#)上传下载及文件管...
·图解asp.net如何用excel做报...
·asp.net无刷新上传文件
·Asp.Net防止刷新重复提交数据...
·asp.net实现将Excel文件导入...
·asp.net中Web.Config配置文件...
·ASP.NET取得物理路径和虚拟路...
·asp.net(c#)生成验证码代码,...
·asp.net页面回传与js调用服务...
·asp.net(C#版)实现登录验证码...
·DataGrid中DropDownList触发S...
·ASP.net 实现批量数据更新或...
·asp.net中DataBinder.Eval的...
·asp.net可输入的下拉框复合控...
·asp.net中常见的几种日历控件...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .