使用Trace与错误处理提高程序稳定性PPT演示课件_第1页
使用Trace与错误处理提高程序稳定性PPT演示课件_第2页
使用Trace与错误处理提高程序稳定性PPT演示课件_第3页
使用Trace与错误处理提高程序稳定性PPT演示课件_第4页
使用Trace与错误处理提高程序稳定性PPT演示课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,使用Trace与错误处理提高程序稳定性,ASP.NET企业级应用编程第16章,1,代码跟踪错误处理,本章目标,2,使用追踪的原因,使用ASP.NET跟踪可以查看关于ASP.NET页的单个请求的诊断信息。使用跟踪还可以直接在代码中编写调试语句,而不必在将应用程序部署到成品服务器时从应用程序中移除这些语句。,3,代码跟踪TRACE元素,通过Page指令中的Trace属性控制是否在页面中启用追踪。如果启用了跟踪,在请求该页时,ASP.NET会为该页附加一系列的表,表中包含关于该页请求的执行详细信息。默认情况下禁用跟踪。,4,代码跟踪TRACE元素,5,TraceContext类,页面用TraceContext类暴露的方法生成其跟踪信息。在执行一个HTTP请求时,ASP.NET会创建一个TraceContext类的实例。Trace对象(TraceContext类的实例)通过HttpContenxt类的Trace属性和Page类的Trace属性暴露出来。TraceContext类有一个很简单的接口,它只有两个属性和一些方法。两个属性分别是IsEnabled和TraceMode属性:将TraceMode设置为SortByTime,以便按跟踪消息的处理顺序对跟踪消息进行排序。将TraceMode设置为SortByCategory,以便在页面或代码的TraceContext.Warn和TraceContext.Write方法调用中指定的类别对消息排序。,6,TraceContext类,TraceContext.Write方法将跟踪信息写入跟踪日志。TraceContext.Warn方法将警告信息写入跟踪日志。与Write不同,所有警告在日志中均显示为红色文本。,7,TraceContext类,8,为整个站点配置追踪,在应用程序的Web.config文件进行配置,可以方便实现除显式禁用跟踪的页之外的所有页中显示跟踪信息。由于不必对各个页进行更改以启用或禁用跟踪,因此设置应用程序级别跟踪非常有用。,9,为整个站点配置追踪,在配置文件中配置在浏览器的地址栏中,在站点根目录后面输入trace.axd,浏览器显示当前缓存的跟踪项。,10,自定义跟踪输出,在页面加载事件里注册跟踪事件,protectedvoidPage_Load(objectsender,EventArgse)Trace.TraceFinished+=newTraceContextEventHandler(Trace_TraceFinished);,voidTrace_TraceFinished(objectsender,TraceContextEventArgse)foreach(TraceContextRecordrecordine.TraceRecords)Response.Write(string.Format(0:1,record.Category,record.Message);,实现跟踪事件的方法,11,错误处理,对于一个Web应用程序来说,出错是在所难免的,因此我们应该未雨绸缪,为可能出现的错误提供恰当的处理。除了C#中的try/catch之外,ASP.NET提供了四种处理错误的方式:Page_Error事件处理方法Page.ErrorPage属性Web.config文件的配置项。Global.asax文件的Application_Error事件处理方法,12,Page.Error事件,注册事件:Page.Error获得错误信息:Server.GetLastError()清除错误对象:Server.ClearError(),13,节点,在Web.Config文件的节点中配置mode有三种:On:开启错误处理,任何地方都适用Off:关闭错误处理,任何地方都禁用RemoteOnly:服务器端禁用错误处理,客户端才能看到错误页面defaultRedirect:如果发生的异常没有在节点statusCode属性指定的范围之内,则跳转到此页面节点:statusCode错误代码,redirect处理页面,14,Page.ErrorPage属性,可以在任何时候设置页面的ErrorPage属性,从而确定页面发生错误的时候会重定向至哪个页面。为了使ErrorPage起作用,的mode属性必须设置为On。也可以在指令中设置ErrorPage。,15,Application_Error事件,在Global.asax文件中的Application_Error处理函数中捕获应用程序异常调用Server.GetLastError().GetBaseException()获得异常将异常保存在Application“error”中调用Server.ClearError()清除已经处理的异常跳转到处理页面显示错误信息,16,错误处理优先级,在异常发生的时候,错误处理方式根据优先级从高到低排序:Page_Error事件处理方法Page.ErrorPage属性Application_Error事件处理方法配置项。如果多个处理错误的机制同时存在,应用程序会按照优先级找到第一个满足条件的错误机制。,17,各个错误处理的关系,首先,要让ErrorPage属性能够发挥作用,必须将配置项中的mode属性设为“On”其次,虽然Page_Error事件处理方法排在最前面,但是,如果忽略了Server.ClearError()方法的话,仍然会引发优先级较低的错误处理,也就是说ErrorPage属性等错误处理机制仍然会发挥作用,这样有可能出现无法控制的局面。,18,总结,实现页面跟踪功能在页面中如何设置实现页面跟踪功能在配置文件中如何设置实现自定义跟踪功能四种页面级错误处理的实现四种页面级错误处理的优先级,19,练习,1.以下对于配置文件中节点说明错误的是()Enabled设置整个网站是否启用跟踪PageOutput是否输出跟踪信息TraceMode跟踪方式LocalOnly是否在本地显示跟踪,20,练习,2.节点RequestLimit属性的作用是()能够看到跟踪信息的用户数量请求超时时间是否可以看到跟踪跟踪请求的用户类型,21,练习,3在网页中未使用Try/Catch块捕捉错误将触发哪个事件()WebError事件SystemException事件Exception事件Error事件,22,练习,4.Page.ErrorPage属性的作用是()A.当页面出错时是否跳转页面B.确定页面发生错误的时候会重定向至哪个页面C.错误页面的名字D.错误页面的个数,23,练习,5.错误优先级从高到低排序正确的是()A.ErrorPage属性Page_Error事件处理方法Application_Error事件处理方法配置项B.Page_Error事件处理方法配置项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论