首页 > 代码库 > MVC学习(一)

MVC学习(一)

一:IIS5.0运行在进程InetInfo.exe中,该进程寄宿着一个名为World Wide Publishing Service(W3VC)的window服务。

  W3VC的主要功能:包括HTTP请求的监听、工作进程和配置管理

检测到HTTP 请求时:

      根据扩展名判断是否静态资源

    1、是直接将文本内容以HTTP回复的形式返回

    2.动态资源,通过IIS 的脚本映射----找到对应的ISAPI动态链接库(是IIS和其他的动态的Web应用和平台之间的纽带)

    ASP.NET中对应的ISAPI文件的名称为:aspnet_isapi.dll

    ISAPI支持ISAPI 的扩展(ISAPI Extension和ISAPI筛选) 

    ISAPI是真正处理HTTP请求的接口  ISAPI在HTTP请求真正处理之前查看、修改、转发和拒绝请求(进行请求的验证)

 

二:IIS6.0新增的功能:

1.ISAPI动态链接库直接加载到工作进程中

 2.引入了应用程序池,由于每一个应用程序池对应一个独立的工作进程,从而运行在不同的应用程序池中的Web应用提供基于进程的隔离级别

工作进程的别名(W3WP.exe)

3.创建了一个名为HTTP.SYS的HTTP监听器。属于TCP 之上的一个网络驱动程序  不在IIS的元数据库中,定义在注册表中。

三:HTTP。SYS带来的好处如下:

1.持续监听:HTTP.SYSw是一个网络驱动程序,始终处于运行状态,对于用户的HTTP请求能够及时作出反应

2.更好的稳定性:运行在操作系统的内核模式下,并不执行任何用户代码,其本身不会受到Web应用、工作进程和IIS进程的影响。

3.内核模式下数据缓存:如果某个资源被频繁请求,HTTP.SYS会把响应的内容进行缓存,响应的内容可以直接响应后续的请求(基于内核模式的缓存,不存在内核模式和用户模式的切换,响应速度得到了相应的提高)

 

四:IIS6.0和ASP.NET

  1.当HTTP.SYS监听到HTTP请求分发给W3SVC----解析出URL地址

 2 根据从Metabase获取的URL与Web应用之间的映射关系得到-----目标应用----目标应用运行的应用程序池或工作进程

 3. 如果进程不存在则创建新的工作程序进程(相应的ISAPI动态链接库被加载    ISAPI.dll为aspnet_isapi.dll)

  4.ASP.NET ISAPI在负责进行CLR加载、应用程序域的创建和Web应用的初始化操作

 

 

    

 

MVC学习(一)