ASP.NET和IIS服务器 7.0之集成

系统 Windows
我们知道在IIS服务器7中对核心IIS服务器处理引擎做的一个重大的架构级变动是通过一个新的模块化的请求管道架构来促成极其丰富的扩展性。

在早期的IIS服务器版本中,开发人员需要编写ISAPI扩展/过滤器来扩展服务器的功能。除了写起来非常痛苦外,ISAPI在如何接入服务器以及允许开发人员定制方面也是非常有限。

例如,你无法在ISAPI扩展中实现URL重写代码(注:ASP.NET是以ISAPI扩展的方式实现的)。假如你把运行时间长的代码编写成ISAPI过滤器的话,结果是你将占用web服务器的I/O线程(这就是我们不让托管代码在请求的过滤器执行阶段运行的原因)。

我们在IIS服务器7中对核心IIS服务器处理引擎做的一个重大的架构级变动是通过一个新的模块化的请求管道架构来促成极其丰富的扩展性。

你现在可以通过与web服务器注册一个HTTP扩展性模块(HTTP Extensibility Module),在任意一个HTTP请求的生命周期的任何地方编写代码。这些扩展性模块可以使用native的C++代码或.NET托管代码来编写(你可以使用现有的ASP.NET System.Web.IHttpModule接口来实现)。

所有“内置”的IIS服务器7功能(认证,授权,静态文件供应,目录清单支持,经典的ASP,记录日志等),现在都是使用这个公开的模块化的管道API来实现的。这意味着你可以除去这些IIS服务器S7“内置”功能的任意一个,而以你自己的实现来替换/扩展这些功能。

IIS服务器7.0上的ASP.NET本身也从以ISAPI的实现形式变成直接接入IIS服务器7管道的模块。

IIS6.0 和IIS7.0 比较图

【编辑推荐】

  1. IIS7.0的改进之核心的改进讲解
  2. 关于IIS 7.0与PHP的竞合分析
  3. 关于ASP.NET 2和IIS 7.0发生不兼容变化
  4. 新的IIS7 PowerShell Provider和Commandlet支持
  5. IIS7集成Administration Pack扩展
责任编辑:小霞
相关推荐

2009-08-10 14:08:15

ASP.NET服务器控ASP.NET组件设计

2009-07-28 10:43:23

Web服务器ASP.NET

2009-08-06 14:16:04

ASP.NET服务器控

2011-04-08 09:34:10

windows serIIS 7.0

2011-07-12 15:03:28

2009-08-06 14:42:54

ASP.NET服务器控

2010-05-13 16:40:49

IIS 7.0

2009-08-01 10:07:58

ASP.NET服务器控ASP.NET

2009-07-28 09:46:53

ASP.NET服务器控

2011-07-12 15:17:02

ASP.net服务器控件

2009-08-04 17:18:37

2009-08-03 18:00:00

ASP.NET服务器控

2009-08-10 14:25:33

ASP.NET服务器控

2009-08-05 17:11:51

ASP.NET控件开发ASP.NET服务器控

2009-08-06 11:24:50

ASP.NET服务器控

2009-07-28 17:17:19

ASP.NET概述

2009-08-04 13:39:43

ASP.NET 2.0

2009-07-27 12:56:27

控件CheckBoxLASP.NET服务器

2009-08-04 13:10:05

ASP.NET服务器控

2009-08-04 15:13:38

点赞
收藏

51CTO技术栈公众号