第4部分诊断与插件
刚开始看这章的时候,真实一头雾水,不知道在讲什么,不过看了关于http pipeline之后,才了解相关说明。因此对于这一章的学习,建议各位首先看看http pipeline然后再进行学习。
第17章诊断与调测
该部分讲解了基本的调试方法,不过个人认为调测方法其实涉及到很多方面的内容,这章也只是大概介绍几个基本的方法。
l 在页面启动 trace功能,然后在页面上就可以看到调用状态了。
l 除此以外,还可以修改web.configtrace enable=“true”实现整个系统的trace跟踪功能。
l 使用trace.write项trace.xsd界面写入具体的调测信息
l Visual studio的单步调测功能和断电调测功能。
另一个最重要的部分是页面错误的处理方式,当发生页面错误时,可以令系统跳转到具体的错误页面,这样比较好的提供用户感受。
具体方法:
l 在web.config当中修改customeerror字段,然后增加错误过滤规则及跳转页面的页面,这样在发生特定错误之后,就会跳转到具体页面。
l 在Applicaton_error中可以截获错误,然后重定向跳转页面或者写入日志等等
第18章 HTTPAPPLICATION和HTTP 模块
这章当中讲解的时候,没有补充一些基础的知识,使得理解起来有一些困惑,在这里我先补充一些知识,然后再深入下去。
对象:
HTTPAPPLICATION : 全局对象,用于确定一个应用程序包含了那些HTTPMODULES,并且用于触发APPLICATION_START类事件。
HTTPCONTEXT:包含完整的请求上下文,通常使用current属性
HTTPRESPONSE:对response进行包装
HTTPREQUEST:对request进行包装
状态:
SESSIONSTATE : 会话状态
APPLICATIONSTATE : 应用程序级别状态
CACHESTATE : 缓存状态
这个部分也是在讲IIS处理http请求的pipeline,基本流程如下:
IIS获得请求之后,首先会加载和处理一系列的进程,然后处理各个httpmodule,然后最终在httphandler进行对应文件的处理。
Httpmodule的本质,就是在APPLICATION的不同事件阶段,进行不同的处理,比如验证,计算,改变等等。
HTTPmodule的编写,非常简单,只是需要集成IHTTPMODULE接口就可以了,注意是编写一个类库程序,然后再web.config当中注册,一个基本的HTTPMODULE就完成了。
Session接口,可以有一个接口,这样HTTPmodule中就可以使用session处理了。
第19章 HTTPHANDLER处理
实际上httphandler就是来处理请求页面的,也就说一个文件,比如aspx就应该有对应的handler进行处理。
实现方法是:继承IHTTPHandler接口即可,然后修改web.config进行配置,或者在IIS中配置。
为了简单visualstudio还提供了一个ashx的一般处理程序的文件,提供了非常简单的处理模式,这个处理模式是需要客户在浏览器当中直接访问就可以了。