ASP.Net 在IIS中的处理过程
1、web请求到IIS的整体处理过程:
- 底层socket三次握手将客户端请求发送到服务器。
- http.sys:IIS内核服务,用来监听http请求,将请求放到队列(这个队列是W3svc服务通过去找IIS Admin Service服务获取信息创建的队列,一个队列对应一个应用程序池中的进程)。
- IIS Admin Services:IIS用户模式中的一个服务其中运行程序是inetinfo.exe,主要用来管理IIS的配置包括程序池、网站等。
- w3svc:用来处理用户请求,当有http请求后http.sys通知w3svc服务,然后w3svc服务通知对应的应用程序池进程进行处理。
- 应用程序池进程:即是我们在IIS应用程序池中配置的程序池。然后程序池到对应的队列中获取数据进程处理,处理完成后返回数据给http.sys发送到客户端。
2、asp.net 工作进程(程序池)中处理过程
- 创建处理程序:创建HttpHandler即面向接口编程,处理程序继承接口IHttpHandler。
- PR方法:ProcessRequest方法,IHttpHandler中的接口方法。