ASP.NET项目开发中应用程序异常处理浅析
创始人
2024-04-22 12:21:10
0

ASP.NET项目开发中应用程序异常处理都有哪些问题呢?让我们开始我们的讲解:

相信大家对Application对象不陌生,而且在项目中添加过Global.asax文件。确实,ASP.NET在应用程序级别处理异常的代码都是放在Global.asax的Application_Error事件处理下的:

  1. void Application_Error(object sender, EventArgs e)  
  2.  {  
  3.   // Code that runs when an unhandled error occurs  
  4.  } 

我们可以在上面的事件处理的方法中捕获所有的异常,而且还可以把异常记录到日志文件,并且同时发送Email告诉开发人员出现了什么问题,如下

ASP.NET项目开发中应用程序异常处理Code

  1. Exception error = Server.GetLastError().GetBaseException();  
  2. //在事件日志中记录异常  
  3. if (!EventLog.SourceExists("ApplicationException"))  
  4. {  
  5.  EventLog.CreateEventSource("ApplicationException", "Application");  
  6. }  
  7.  
  8. EventLog eventLog = new EventLog();  
  9. eventLog.Log = "Application";  
  10. eventLog.Source = "ApplicationException";  
  11. eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);  
  12.  
  13. //发送Email给开发人员  
  14. MailMessage email = new MailMessage("administrator@xiaoyang.com",  
  15. "vince.varallo@PoweredByV2.com");  
  16. email.Body = error.ToString();  
  17. email.Subject = "An error occurred in the  Application";  
  18. SmtpClient smtpClient = new SmtpClient("127.0.0.1", 25);  
  19. smtpClient.Send(email);  
  20. Response.Redirect("ErrorPage.aspx"); 

当然,上面的代码要正确的运行,我们海必须在Global.asax中加入相应的命名空间,而且在发送邮件的时候,上面的"127.0.0.1"要换为我们自己的邮件服务器的地址:

  1. <%@ Import Namespace="System.Diagnostics" %>  
  2. <%@ Import Namespace="System.Net.Mail" %> 

还有一点要注意的就是,ASP.NET运行时是以ASPNET账户运行的,这个账户的权限是有限的,如果我们想要使得上面的代码可以运行,那么就必须要给ASPNET账户访问注册表的权限。如果你不给权限,那么上面的代码就报错。

我们赋予ASPNET账户访问在"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog"节点以及字节点的权限。

ASP.NET项目开发中应用程序异常处理之如何配置权限:

1.打开"运行"菜单

2.输入"regedit",然后确定

3.导航到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog"节点。

4.右击这个节点,并且选择"权限",此时就会弹出权限配置的窗口。

5.点击"添加",在弹出的窗口中点击"高级",之后再点击"查找",***在下面的窗口找到"ASPNET"账户,确定。

6.***给予ASPNET账户读的权限就OK了。

上面的代码,如果我们不在***加了Response.Redirect方法,出错后,用户看到的就是那个很经典的黄颜色的报错的页面。我们也知道,那个经典的报错页面会暴露很多的信息,所以我们常常导航到我们自定义的错误页面。

ASP.NET项目开发中应用程序异常处理的基本情况就向你介绍到这里,希望对你理解ASP.NET项目开发中应用程序异常处理有所帮助。

【编辑推荐】

  1. ASP.NET注释使用技巧浅析
  2. ASP.NET trace的使用浅析
  3. ASP.NET Request对象使用实例浅析
  4. ASP.NET(VB)应用之图片增加水印文字浅析
  5. ASP.NET页面框架概念浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...