C#Application_Error事件

C#语言还是比较常见的东西,这里我们主要介绍C# Application_Error事件,包括介绍Page_Error 事件等方面。

防城网站建设公司创新互联,防城网站设计制作,有大型网站制作公司丰富经验。已为防城超过千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的防城做网站的公司定做!

与 Page_Error 事件相类似,您可使用 C# Application_Error事件捕获发生在应用程序中的错误。由于事件发生在整个应用程序范围内,因此您可记录应用程序的错误信息或处理其他可能发生的应用程序级别的错误。

下面的示例基于前面的 Page_Error 事件代码示例,如果 Page_Load 事件中的错误未在 Page_Error 事件中捕获,将引发异常。C# Application_Error事件在应用程序的 Global.asax 文件中进行指定。为简单起见,本节中的步骤创建一个要在其中引发异常的新页,捕获 Global.asax 文件的 C# Application_Error事件中的错误,并将该错误写入事件日志中。

下面的步骤演示如何使用 C# Application_Error事件:

将名为 AppEvent.aspx 的新文件添加到项目中,将以下代码添加到 AppEvent.aspx 中,从文件菜单中,单击保存 AppEvent.aspx。将 Application_Error 事件添加到 Global.asax 文件中以捕获在 AppEvent.aspx 页的 Page_Load 事件中引发的错误。注意,您必须为 System.Diagnostics 名称空间将另一条 using 语句添加到 Global.asax,才能使用事件日志。

将以下代码添加到 Global.asax 文件中: 

 
 
 
  1. using System.Diagnostics;  
  2.  
  3. protected void Application_Error(object sender, EventArgs e)  
  4. {  
  5. Exception objErr = Server.GetLastError().GetBaseException();  
  6. string err ="Error Caught in Application_Error event\n" +  
  7. "Error in:" + Request.Url.ToString() +  
  8. "\nError Message:"+ objErr.Message.ToString() +  
  9. "\nStack Trace:"+ objErr.StackTrace.ToString();  
  10. EventLog.WriteEntry("Sample_WebApp",err,EventLogEntryType.Error);  
  11. Server.ClearError();  
  12. //additional actions...  
  13. }  

保存 Global.asax 文件。在 Visual Studio .NET 中,在生成菜单上,单击生成。右键单击该页,然后单击在浏览器中查看。在这种情况下该页将为空白,但是您应该注意到在事件日志中已添加了一个新项。本示例在应用程序日志中生成一个项,可从事件查看器访问应用程序日志。在记录错误之后,您可能希望将用户重定向到另一个更用户友好的错误页或者根据需要执行一些其他操作。

如果您不调用 Server.ClearError 或者捕获 Page_Error 或 C# Application_Error事件中的错误,则将根据 Web.config 文件的 部分中的设置处理错误。在 部分,可将重定向页指定为默认的错误页 (defaultredirect) 或者根据引发的 HTTP 错误代码指定特定页。您可使用此方法自定义用户收到的错误信息。

【编辑推荐】

  1. C#字符ASCII码学习经验
  2. C#数值类型之间的转换概述
  3. 日期型数据转换成C#长整型数据
  4. C#查看Excel对象模型分析
  5. C#日期型数据简单剖析

网页名称:C#Application_Error事件
浏览路径:http://www.shufengxianlan.com/qtweb/news27/291727.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联