iis内部运行机制

iis内部运行机制

ID:22681993

大小:461.00 KB

页数:14页

时间:2018-10-30

iis内部运行机制_第1页
iis内部运行机制_第2页
iis内部运行机制_第3页
iis内部运行机制_第4页
iis内部运行机制_第5页
资源描述:

《iis内部运行机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、IIS内部运行机制作者:※森林小居※  来源:博客园  发布时间:2012-07-2516:34  阅读:5900次  推荐:30  原文链接  [收藏] 能够处理各种后缀名的应用程序,通常被称为ISAPI应用程序(NOTE:InternetServerApplicationProgrameInterface,互联网服务器应用程序接口)。虽然这ISAPI听上去还挺气派,也算是“应用程序”呢,但仔细看看它的全称就明白了:它实际上只是一个接口,起到一个代理的作用,它的主要工作是映射所请求的页面(文件) 和与此后缀名相对应的实际的处理程序。 ASP.NET是一个非

2、常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。  绝大多数的人只熟悉高层的框架如:WebForms和WebServices—这些都在ASP.NET层次结构的最高层。  这篇文章的资料收集整理自各种微软公开的文档,通过比较IIS5、IIS6、IIS7这三代IIS对请求的处理过程,让我们熟悉ASP.NET的底层机制并对请求(request)是怎么从Web服务器传送到ASP.NET运行时有所了解。通过对底层机制的了解,可以让我们对ASP.net有更深的理解。  IIS5的ASP.net请求处理过程  对图的解释:

3、  IIS5.x一个显著的特征就是WebServer和真正的ASP.NETApplication的分离。作为WebServer的IIS运行在一个名为InetInfo.exe的进程上,InetInfo.exe是一个NativeExecutive,并不是一个托管的程序,而我们真正的ASP.NETApplication则是运行在一个叫做aspnet_wp的WorkerProcess上面,在该进程初始化的时候会加载CLR,所以这是一个托管的环境。  ISAPI:指能够处理各种后缀名的应用程序。ISAPI是下面单词的简写:InternetServerApplicati

4、onProgrameInterface,互联网服务器应用程序接口。  IIS5模式的特点:  1、首先,同一台主机上在同一时间只能运行一个aspnet_wp进程,每个基于虚拟目录的ASP.NETApplication对应一个ApplicationDomain,也就是说每个Application都运行在同一个WorkerProcess中,Application之间的隔离是基于ApplicationDomain的,而不是基于Process的。  2、其次,ASP.NET ISAPI不但负责创建aspnet_wpWorkerProcess,而且负责监控该进程,如果

5、检测到aspnet_wp的Performance降低到某个设定的下限,ASP.NET ISAPI会负责结束掉该进程。当aspnet_wp结束掉之后,后续的Request会导致ASP.NETISAPI重新创建新的aspnet_wpWorkerProcess。  3、最后,由于IIS和Application运行在他们各自的进程中,他们之间的通信必须采用特定的通信机制。本质上IIS所在的InetInfo进程和WorkerProcess之间的通信是同一台机器不同进程的通信(localinterprocesscommunications),处于Performance的

6、考虑,他们之间采用基于Namedpipe的通信机制。ASP.NETISAPI和WorkerProcess之间的通信通过他们之间的一组Pipe实现。同样处于Performance的原因,ASP.NETISAPI通过异步的方式将Request传到WorkerProcess并获得Response,但是WorkerProcess则是通过同步的方式向ASP.NETISAPI获得一些基于Server的变量。  IIS6的ASP.net请求处理过程  对图的解释:  IIS5.x是通过InetInfo.exe监听Request并把Request分发到WorkProcess

7、。换句话说,在IIS5.x中对Request的监听和分发是在UserMode中进行,在IIS6中,这种工作被移植到KernelMode中进行,所有的这一切都是通过一个新的组件—http.sys来负责。  注:为了避免用户应用程序访问或者修改关键的操作系统数据,Windows提供了两种处理器访问模式:用户模式(UserMode)和内核模式(KernelMode)。一般地,用户程序运行在Usermode下,而操作系统代码运行在KernelMode下。KernelMode的代码允许访问所有系统内存和所有CPU指令。  在UserMode下,http.sys接收到一

8、个基于aspx的httprequest,然后它会根据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。