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.
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 ...|