The
Pipeline Process Model
The ASP.NET HTTP pipeline relies on Microsoft® Internet Information Services
(IIS) to receive the requests it is going to process (it can also be integrated
with other Web servers). When IIS receives an HTTP request, it examines the
extension of the file identified by the target URL. If the file extension is
associated with executable code, IIS invokes that code in order to process the
request. Mappings from file extensions to pieces of executable code are
recorded in the IIS metabase. When ASP.NET is installed, it adds entries to the
metabase associating various standard file extensions, including .aspx and
.asmx, with a library called aspnet_isapi.dll.
When IIS receives an HTTP request for one of these files, it invokes the
code in aspnet_isapi.dll, which in turn funnels the request into the HTTP
pipeline. Aspnet_isapi.dll uses a named pipe to forward the request from the
IIS service where it runs, inetinfo.exe, to an instance of the ASP.NET worker
process, aspnet_wp.exe. (In Windows® .NET Server, ASP.NET integrates with the
IIS 6.0 kernel-mode HTTP listener, allowing requests to pass from the operating
system directly to the worker process without passing through inetinfo.exe.)
The worker process uses an instance of the HttpRuntime class to process the request.
Figure 3 illustrates the entire architecture.
No comments :
Post a Comment