Datasheet
Extensible Architecture of IIS 7
IIS 6.0 allows you to extend the functionality of the Web server by implementing and plugging in your
own custom ISAPI filter and extension modules. Unfortunately, ISAPI suffers from fundamental prob-
lems such as:
❑ Because ISAPI is not a convenient or friendly API, writing an ISAPI filter or extension module is
not an easy task to accomplish. It can take a lot of time and tends to be error-prone.
❑ ISAPI is not a managed API, which means that ASP.NET developers cannot benefit from the rich
features of the .NET Framework when they’re writing ISAPI filter and extension modules.
IIS 7.0 has replaced ISAPI with a new set of convenient object-oriented APIs that make writing new fea-
ture modules a piece of cake. These APIs come in two different flavors: managed and native. The native
API is a convenient C++ API that you can use to develop and plug native modules into the core Web
server. The managed API, on the other hand, allows you to take full advantage of the .NET Framework
and its rich environment. This allows both ASP.NET developers and IIS 7 administrators to use conven-
ient ASP.NET APIs to extend the core Web server.
IIS 7 and ASP.NET Integrated Request
Processing Pipeline
Take a look at the request processing model of IIS 6.0 for processing requests for ASP.NET content as
shown in Figure 1-5. Notice that this figure contains two different request processing pipelines: IIS 6.0
and ASP.NET. Each request processing pipeline is a pipeline of components that are invoked one after
another to perform their specific request processing tasks. For example, both pipelines contain an
authentication component, which is called to authenticate the request.
Figure 1-5
Request
IIS6.0 Request Processing Pipeline
Preprocessing
Authentication
…
Request
Handler Mapper
Postprocessing
…
Response
Request
ASP.NET Request Processing Pipeline
Preprocessing
Authentication
…
Request
Handler Mapper
Postprocessing
…
Response
8
Chapter 1: IIS 7 and ASP.NET Integrated Architecture
52539c01.qxd:WroxPro 9/17/07 6:51 PM Page 8