崇左办崇左证DSC

CSR-办崇左证-本地魏/电【131­2220­1112同号】哪里办崇左证【Vq:7736661】『办.做.各.种.类.型.的.证.件』.都.有.(品/质/一/流/通过Asp.Net构架(Http请求处理流程)和HttpApplication处理对象与HttpModule处理模块前面两篇我们了解了Http请求在服务器端的处理流程,Http请求最终会由实现了IHttpHandler接口的类进行处理,针对不同的请求,Asp.net要有不同的处理。通常情况下,HTTP.SYS根据请求的扩展名来确定ISAPI处理程序,再通过各种处理程序来分别进行处理。

回顾一下Http请求处理流程:

当Http请求进入 Asp.Net Runtime以后,它的管道由托管模块(NOTE:Managed Modules)和处理程序(NOTE:Handlers)组成,并且由管道来处理这个 Http请求
HttpRuntime将Http请求转交给 HttpApplication,HttpApplication代表着程序员创建的Web应用程序。HttpApplication创建针对此Http请求的 HttpContext对象,这些对象包含了关于此请求的诸多其他对象,主要是HttpRequest、HttpResponse、HttpSessionState等
接下来Http请求通过一系列Module,这些Module对Http请求具有完全的控制权。这些Module可以做一些执行某个实际工作前的事情。
Http请求经过所有的Module之后,它会被HttpHandler处理。
HttpHandler处理完以后,Http请求再一次回到Module,此时Module可以做一些某个工作已经完成了之后的事情。
GetHandler方法用来通过这个处理程序工厂获取一个处理程序对象
ReleaseHandler方法用来释放一个处理程序对象
注册处理程序
每一种处理程序用来处理一类请求,不同的请求类别通过请求的扩展名来进行区分,处理程序与请求之间的匹配关系在网站的配置文件web.config中通过配置参数来进行设置。system.web配置元素的子元素httpHandlers用来配置网站所使用的处理程序。httpHandlers元素可以包含三种子元素:add、remove和clear。

add子元素有三个必选的属性,作用如下:

verb通过一个逗号(,)分割的HTTP请求类型列表来表示处理请求的类型
eg:GET,POST等;使用星号(*)表示处理所有类型的请求。
path通过一个固定的URL路径或者一个使用星号(*)的通配符来匹配请求的URL
eg:使用*.aspx表示这个处理请求将处理所有扩展名为aspx的请求。
type处理程序的类型名称,或者是处理程序工厂的类型名称,这个类型必须是类型的全名,包含命名空间、程序集(当类放在私有程序集时)。
validate为可选的属性,如果设置为false,那么Asp.net在第一次匹配的请求调用之前,将不会试图加载这个类。
https://biz.ifeng.com/c/7ztFAcNJB9W
在网站应用程序运行的时候,实际得到的配置文件来自于系统的machine.config,系统的web.config和网站自身的web.config合并。在web.config中Asp.net已经预先配置了57中处理程序的映射,还可以通过处理程序接口扩展自定义的处理程序。
https://www.cnblogs.com/833703i/p/13817073.html

上一篇:PXE服务器部署


下一篇:DSC注册Agent失败- InternalServerError