VS.NET(C#)-5.14_IIS5与ASP.NET关系

IIS5与ASP.NET关系

IIS5.x运行在IIS进程InetInfo.exe中,在该进程中一个最重要的服务就是名为World Wide Web PublishingService(简称W3SVC)的Windows Service。

W3SVC的主要功能包括HTTP请求的监听、工作进程的管理以及配置管理(通过从Metabase中加载相关配置信息)等。

当检测到某个HTTP Request后,先根据扩展名判断请求的是否是静态资源(比如.html,.img,.txt,.xml等),如果是则直接将文件内容以HTTP Response的形式返回。

如果是动态资源(比如.aspx,asp,php等等),则通过扩展名从IIS的脚本影射(Script Map)找到相应的ISAPI Dll。

ISAPI是Internet服务器API(Internet Server ApplicationProgramming Interface)的缩写是一套本地的Win32 API,具有较高的执行性能,是IIS和Web应用或者平台之间的纽带。

比如ASP ISAPI桥接IIS与ASP,而ASP.NET ISAPI则连接着IIS与ASP.NET

ISPAI定义在一个DllASP.NET ISAPI对应的Dll为Aspnet_isapi.dll,你可以在目录“%windir%\Microsoft.NET\Framework\{versionno}\”中找到该Dll。

ISAPI支持ISAPI扩展和ISAPI筛选,前者是真正处理HTTP请求的接口,后者则可以在HTTP请求真正被处理之前查看、修改、转发或者拒绝请求,比如IIS可以利用ISAPI筛选进行请求的验证(Authentication)。

如果请求ASP.NET的资源类型,Aspnet_isapi.dll会被加载,ASP.NET ISAPI扩展会创建ASP.NET的工作进程(如果该进程尚未启动),对于IIS 5.x来说,该工作进程为aspnet_wp.exe

IIS进程与工作进程之间通过命名管道进程通信,以获得最好的性能

在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。对于某个Web应用的初次请求,CLR会为其创建一个AppDomain。在此AppDomain中,HTTP Runtime被加载并用以创建相应的应用。

对于寄宿于IIS 5.x的所有Web 应用都运行在同一个进程(工作进程Aspnet_wp.exe)的不同AppDomain中。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值