IIS Module Concepts

Before you begin developing your own custom IIS modules, it is useful to first review the concepts of events, notifications, priorities, and return codes.

Although the following section describes these concepts in the context of the native code API, it is recommended that those readers more familiar with a managed code development environment continue reading in order to cover some important basic concepts of IIS module design. Once encountering the native code sample, managed code developers may want then to skip to the “Managed Code Modules” section to understand how these concepts relate specifically to a managed code environment.

Events

In earlier chapters, we presented the IIS 8.0 request pipeline and discussed the various stages of request processing. In the context of IIS extensibility, each of these steps can be considered an event.

Pipeline Request-Processing Event Description
BeginRequest IIS has received the request and is ready to begin processing.
AuthenticateRequest IIS is ready to check the supplied credentials.
PostAuthenticateRequest IIS has established the identity of the user.
AuthorizeRequest The credentials have been checked, and now IIS is ready to determine whether the user is allowed access to the requested resource.
PostAuthorizeRequest The user has been authorized.
ResolveRequestCache IIS is ready to check the cache for an existing match to this request.
PostResolveRequestCache IIS has checked the cache for an existing match ...

Get Professional Microsoft IIS 8 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.