我对asp.net管道模型的理解

Posted HelloLLLLL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我对asp.net管道模型的理解相关的知识,希望对你有一定的参考价值。

参考:http://www.tracefact.net/tech/001.html
https://www.xuebuyuan.com/zh-hant/470245.html

我们的web程序被iis启动之后,它是处于什么样的状态的,它应该是由.netframework这个平台下的某个程序 ——A程序激活的吧,这个程序会把我们写的网站处于一直运行的状态吗?还是说只有请求来临的时候,才激活我们的网站呢?我觉得吧,请求那么多,每次来一个都需要程序去激动我们的状态肯定太慢了,所以应该是这个网站被A程序激活后,就一直运行在了.net平台之下,然后来一个请求就创建一个线程来处理请求,而这个线程里就是一个独立的Appdomain吧,它里面就是有一个完整的管道处理流程。

其实iis与.net下的web组件之间的通信是靠一个接口aspNet_isapi(Internet Server Application Programe Interface,互联网服务器应用程序接口)来相互通信的,这个接口把请求封装成httpRuntime能认识的HttpWorkerRequest对象,放在一个容器里面。再由.netframework的A程序分配线程去这个容器里取HttpWorkerRequest对象给我们的HttpRuntime对象,之后由HttpRuntime的processrequest开始我们的管道处理流程。

管道处理流程中,与我们程序最有关系的就是Module和Handler了,这两个可以让程序员自己扩展我们的程序,module的意义是每个请求都会通过它,module里面大概有19个事件可以自定义代码。而handler是对特别的路径、文件、请求方式做过滤的。

 

以上是关于我对asp.net管道模型的理解的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net管道模型(管线模型)

Asp.Net管道模型和Asp.Net Core的Middleware模型的对比

Asp.net管道模型之(HttpModules 和 HttpHandler)

Owin管道与asp.net管道模型

理解ASP.NET Core

2021-07-03 .NET高级班 86- ASP.NET MVC 管道模型详解