Nóta
Aðgangur að þessari síðu krefst heimildar. Þú getur prófað aðskrá þig inn eða breyta skráasöfnum.
Aðgangur að þessari síðu krefst heimildar. Þú getur prófað að breyta skráasöfnum.
Although the integrated request-processing pipeline in the IIS 7 Web server core enables native-code developers to write HTTP modules in C++, the event notifications that are available to native-code and managed-code developers are not identical. Developers who are migrating an HTTP module from a managed language such as C# to native code will have to address these differences when they create their new modules.
Global Notifications
With IIS 7, developers can now create native-code HTTP modules that process notifications at the global level. In previous versions of IIS, developers could create HTTP modules that processed notifications at only the request-level. HTTP modules that process notifications at the global level are used to process notifications for a variety of server-level events.
The following table lists the global notification methods that are available to native-code developers.
| Event notification method | Description |
|---|---|
| OnGlobalApplicationResolveModules | Called when IIS resolves the registered modules. |
| OnGlobalApplicationStart | Called when IIS starts an application. |
| OnGlobalApplicationStop | Called when IIS exits an application. |
| OnGlobalCacheCleanup | Called when IIS clears the cache. |
| OnGlobalCacheOperation | Called when IIS performs a cache-related operation. |
| OnGlobalConfigurationChange | Called when a change is made to a configuration file. |
| OnGlobalCustomNotification | Called when a module raises a user-defined notification. |
| OnGlobalFileChange | Called when a file within a Web site is changed. |
| OnGlobalHealthCheck | Called when a health-related operation is executed. |
| OnGlobalPreBeginRequest | Called before a request enters the integrated request-processing pipeline. |
| OnGlobalRSCAQuery | Called when a Run-Time Status and Control query is executed. |
| OnGlobalStopListening | Called when IIS stops accepting new requests. |
| OnGlobalThreadCleanup | Called when IIS returns a thread to the thread pool. |
| OnGlobalTraceEvent | Called when a trace event is raised. |
Comparing Request Notifications
Although request notification methods for native-code and managed-code HTTP modules are similar in many ways, they are not completely analogous. For example, the list of deterministic request notification methods is nearly identical for native-code and managed-code modules, yet the list of nondeterministic request notification methods differs greatly.
Native-Code Deterministic Request Notifications
The following table lists the deterministic request notification methods that are available to native-code developers.
| Event notification method | Post-event notification method |
|---|---|
| OnBeginRequest | OnPostBeginRequest |
| OnAuthenticateRequest | OnPostAuthenticateRequest |
| OnAuthorizeRequest | OnPostAuthorizeRequest |
| OnResolveRequestCache | OnPostResolveRequestCache |
| OnMapRequestHandler | OnPostMapRequestHandler |
| OnAcquireRequestState | OnPostAcquireRequestState |
| OnPreExecuteRequestHandler | OnPostPreExecuteRequestHandler |
| OnExecuteRequestHandler | OnPostExecuteRequestHandler |
| OnReleaseRequestState | OnPostReleaseRequestState |
| OnUpdateRequestCache | OnPostUpdateRequestCache |
| OnLogRequest | OnPostLogRequest |
| OnEndRequest | OnPostEndRequest |
Managed-Code Deterministic Request Notifications
The following table lists the deterministic request notification methods that are available to managed-code developers.
| Event notification method | Post-event notification method |
|---|---|
| BeginRequest | (None) |
| AuthenticateRequest | PostAuthenticateRequest |
| AuthorizeRequest | PostAuthorizeRequest |
| ResolveRequestCache | PostResolveRequestCache |
| MapRequestHandler | PostMapRequestHandler |
| AcquireRequestState | PostAcquireRequestState |
| PreRequestHandlerExecute | (None) |
| RequestHandlerExecute | PostRequestHandlerExecute |
| ReleaseRequestState | PostReleaseRequestState |
| UpdateRequestCache | PostUpdateRequestCache |
| LogRequest | PostLogRequest |
| EndRequest | (None) |
Native-Code Nondeterministic Request Notifications
The following table lists the nondeterministic request notification methods that are available to native-code developers.
| Event notification method | Post-event notification method |
|---|---|
| OnAsyncCompletion | (None) |
| OnCustomRequestNotification | (None) |
| OnMapPath | (None) |
| OnReadEntity | (None) |
| OnSendResponse | (None) |
Managed-Code Nondeterministic Request Notifications
The following table lists the nondeterministic request notification methods that are available to managed-code developers.
| Event notification method | Post-event notification method |
|---|---|
| PreSendRequestHeaders | (None) |
| PreSendRequestContent | (None) |
See Also
Creating Native-Code HTTP Modules
Designing Native-Code HTTP Modules