日期:2014-05-17  浏览次数:21477 次

请问大家是怎么理解ASP.NET请求的处理逻辑步骤的?!

如下,我对这个步骤不是很了解,尤其是我用彩色标注的地方。

请各位大侠,高人,大仙不吝赐教!越详细越好。

?

ASP.NET请求的处理逻辑步骤
1.?当请求到达时,IIS检查资源类型并调用ASP.NET ISAPI扩展,如果启用了默认的进程模型,ASPNET_ISPI会将请求排队 ,并将请求分配给辅助进程,所有的请求数据都通过异步I/0 发送.
2.?收到请求后,ASP.NET辅助进程将通知ASP.NET ISAPI ,它将为请求服务(建立管道)
3.?在辅助进程的上下文 中执行请求.有时,辅助进程可能需要回调ISAPI以完成请求,也就是需要说枚举服务器变量 ,这种情况下,辅助进程将使用同步管道 ,因为这样可以保持请求处理逻辑的顺序.
4.?完成后,响应被发送到打开了异步管道 的aspnet_isapi.如果aspnet_isapi检测到辅助进程已取消,它将自动终止请求并释放所有相关的IIS资源

?

对应于各种颜色的问题:

1.ASPNET_ISPI会将请求排队:是指 ASPNET_ISPI收集全部的请求,然后逐个发送给辅助进程吗?并且采用的是异步方式?

?

2.异步I/0:请解释之。

?

3.ASP.NET辅助进程将通知ASP.NET ISAPI:辅助进程不是接受 ASP.NET ISAPI发送来的请求吗?

?

4.上下文:这个是指的HTTPContext对象吗?

?

5.枚举服务器变量:何解?怎么需要 枚举服务器变量呢??完全不明白

?

6.同步管道 & 异步管道:何解???

?

7.请问Http管道和命名管道是同一个概念??