IIS 5.X与ASP.Net

  Asp.Net 程序在IIS 5.X中如何工作的?

  Asp.Net 程序在请求时分为静态资源和动态资源,其中静态资源如:静态页、js、图片、样式等,动态资源如:.aspx、.asmx、action等。请求静态资源资源时,Request请求首先到底IIS,IIS判断请求是否是静态资源,如果是静态资源则直接将静态资源以HTTP响应的形式返回。如果不是静态资源,则会触发Asp.Net的处理。其图大致如下:

InetInfo.exe进程运行IIS

W3SVC的主要功能是Http监听、工作进程和配置管理。

Aspnet_isapi.dll 是ISAPI动态链接库的dll文件,ISAPI支持ISAPI扩展和ISAPI筛选。其中ISAPI筛选可以在http请求被asp.net真正处理前查看、修改、转发或拒绝请求。而ISAPI扩展则是处理Http请求的,如果请求类型是Asp.net类型,则ISAPI扩展会创建或返回一个已经创建好的Asp.net 工作进程,由此http请求的处理就转到了Asp.net的处理中(即Worker Process中)

aspnet_wp.exe 如果Asp.net 工作进程没有创建的话,首先创建起进程,在工作进程初始化的过程中, .net运行环境被加载进而构建一个托管环境

.NET Runtime .net运行环境,所有的应用程序均托管在 .NET运行时中

Application 应用程序,也就是我们所说的网站、服务等。如果某个web初次请求,则或创建一个应用程序,若是已经存在则返回。然后在应用程序中处理http请求。

 

在IIS 5.X 中,ISAPI动态链接库是被动加载到进程中的,而且它跟IIS是两个进程,造成了性能的瓶颈。在asp.net的工作进程中,所有的应用程序均运行在不同应用程序的相同进程中,其中一个程序会给其他应用程序造成潜在的威胁。

posted @ 2017-03-06 16:06  Chasel张  阅读(153)  评论(0)    收藏  举报