当前位置: >> ASP.NET >> asp与asp.net >> ASP.NET项目开发中应用程序异常处理

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

南京昊企点信息技术有限公司 编辑:昊企点网络营销 时间:2009-8-4 浏览次数:

ASP.NET项目开发中应用程序异常处理
ASP.NET项目开发中应用程序异常处理都有哪些问题呢?让我们开始我们的讲解:
 相信大家对Application对象不陌生,而且在项目中添加过Global.asax文件。确实,ASP.NET在应用程序级别处理异常的代码都是放在Global.asax的Application_Error事件处理下的:
 void Application_Error(object sender, EventArgs e)
 {
 // Code that runs when an unhandled error occurs
 }
 我们可以在上面的事件处理的方法中捕获所有的异常,而且还可以把异常记录到日志文件,并且同时发送Email告诉开发人员出现了什么问题,如下
 ASP.NET项目开发中应用程序异常处理Code
 Exception error = Server.GetLastError().GetBaseException();
 //在事件日志中记录异常
 if (!EventLog.SourceExists("ApplicationException"))
 {
 EventLog.CreateEventSource("ApplicationException", "Application");
 }
 EventLog eventLog = new EventLog();
 eventLog.Log = "Application";
 eventLog.Source = "ApplicationException";
 eventLog.WriteEntry(error.ToString(), EventLogEntryType.Error);
 //发送Email给开发人员
 MailMessage email = new MailMessage("administrator@xiaoyang.com",
 "vince.varallo@PoweredByV2.com");
 email.Body = error.ToString();
 email.Subject = "An error occurred in the  Application";
 SmtpClient smtpClient = new SmtpClient("127.0.0.1", 25);
 smtpClient.Send(email);
 Response.Redirect("ErrorPage.aspx");
 当然,上面的代码要正确的运行,我们海必须在Global.asax中加入相应的命名空间,而且在发送邮件的时候,上面的"127.0.0.1"要换为我们自己的邮件服务器的地址:
 <%@ Import Namespace="System.Diagnostics" %>
 <%@ 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项目开发中应用程序异常处理有所帮助。

本站提示:为了更好地了解专业、权威的网络相关信息,免费咨询服务,为您提供最专业、最有效的网络营销方案。 咨询热线:025-83403218
公司地址: 南京中山北路240号412室(中山北路,福建路)