选择显示字体大小

asp.net http运行时组成详解(2)

     asp.net 请求的处理逻辑可以概括为以下步骤:
  
    当请求到达时,iis 检查资源类型并调用 asp.net isapi 扩展。如果启用了默认的进程模型,as.net_isapi 会将请求排队,并将请求分配给辅助进程。所有的请求数据都通过异步 i/o 发送。如果启用了 iis 6 进程模型,请求将自动在辅助进程 (w3wp.exe) 中排队,此辅助进程用于处理应用程序所属的 iis 应用程序池。iis 6 辅助进程不了解 asp.net 和托管代码的任何情况,它只是处理 *.aspx 扩展并加载 as.net_isapi 模块。当 asp.net isapi 在 iis 6 进程模型中运行时,它的工作方式有所不同,仅在 w3wp.exe 辅助进程的上下文中加载 clr。
  
    收到请求后,asp.net 辅助进程将通知 asp.net isapi,它将为请求服务。通知通过同步 i/o 实现。之所以使用同步模型,是因为请求只有在 isapi 内部请求表中被标记为“executing”,辅助进程才能开始处理它。如果请求已经由特殊的辅助进程进行处理,则不能再将它指定到其他进程,除非原始进程已取消。
  在辅助进程的上下文中执行请求。有时,辅助进程可能需要回调 isapi 以完成请求,也就是需要说枚举服务器变量。这种情况下,辅助进程将使用同步管道,因为这样可以保持请求处理逻辑的顺序。
  
    完成后,响应被发送到打开了异步管道的 as.net_isapi。现在,请求的状态变为“done”,之后将从请求表中被删除。如果辅助进程崩溃,正在处理的所有请求仍将保持“executing”状态并持续一段时间。如果 as.net_isapi 检测到辅助进程已取消,它将自动终止请求并释放所有相关的 iis 资源。
  
    以上说明是指默认的 asp.net 进程模型,即在 iis 5.x 中运行的工作模型。iis 6(windows server 2003 提供)的默认工作方式对 asp.net 进程模型也有影响。当集成在 iis 6.0 中时,asp.net 1.1 会自动调整自己的工作方式以适应宿主环境。这时,不再需要使用 as.net_wp 辅助进程,machine.config 文件中定义的某些配置参数也被忽略。从 asp.net 的角度来看,iis 6 的最大改变是有关请求的一切都在 as.net_isapi 的控制之下,且都处在 w3wp.exe 辅助进程的上下文中。辅助进程的帐户是为 web 应用程序所属的应用程序池设置的帐户。默认情况下,该帐户是.networkservice&#151,它是一个内置的弱帐户,在功能上与 as.net 等价。
  
    辅助进程受一个名为进程回收 (recycling) 的功能的控制。进程回收具有 as.net_isapi 功能,当现有进程消耗的内存太多、响应太慢或挂起时可以自动启动新进程。出现这种情况时,新请求将由新实例处理,新实例从而变成新的活动进程。但是,指定给旧进程的所有请求仍保持挂起状态。如果旧进程结束了挂起的请求并进入空闲状态,该进程即终止。如果辅助进程崩溃,或者由于其他原因停止处理请求,则所有挂起的请求将被重新指定给新进程。
  
    尽管 asp.net isapi 和辅助进程是 asp.net 运行时结构的主要组成部分,但还有其他一些可执行文件也发挥着作用。下表列出了所有这些组件。
  
    表 1:构成 asp.net 运行时环境的可执行文件
  名称 类型 帐户
  as.net_isapi.dll win32 dll(isapi 扩展) local system
  as.net_wp.exe win32 exe as.net
  as.net_filter.dll win32 dll(isapi 筛选器) local system
  as.net_state.exe win32 nt service as.net
  
  
    as.net_filter.dll 组件是一个小的 win32 isapi 筛选器,用来备份 asp.net 应用程序的无 cookie 会话状态。在 windows server 2003 中,当启用 iis 6 进程模型时,as.net_filter.dll 还将筛选出 bin 目录中对非可执行资源的请求。
  
    as.net_state.exe 的作用对 web 应用程序更为重要,因为它用于管理会话状态。该项服务是可选的,可以用来在 web 应用程序内存空间之外保存会话状态数据。该可执行文件是一种 nt 服务,既可以在本地运行,也可以远程运行。当该服务被激活后,可以将 asp.net 应用程序配置为将所有会话信息保存在此进程的内存中。一种类似的方案是提供更为可靠的数据存储方式,不受进程回收和 asp.net 应用程序故障的影响。该服务在 as.net 本地帐户下运行,但可以使用服务控制管理器 (service control manager) 接口来配置它。
  
    另一个应该介绍的可执行文件是 as.net_regiis.exe,尽管严格来讲,它并不属于 asp.net 运行时结构。该实用程序可以用来配置环境,以在一台计算机上并行执行不同版本的 asp.net,还可用于维修 iis 和 asp.net 损坏的配置。该实用程序的工作方式是更新存储在 iis 配置数据库的根目录和子目录中的脚本映射。脚本映射是资源类型和 asp.net 模块之间的一种关联关系。最后,还可以使用该工具来显示已安装的 asp.net 版本的状态,执行其他配置操作,如授予对特定文件夹的 ntfs 权限、创建客户脚本目录。
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons