Comparando notificações de Native-Code e Managed-Code
Embora o pipeline integrado de processamento de solicitações no núcleo do servidor Web do IIS 7 permita que os desenvolvedores de código nativo escrevam módulos HTTP em C++, as notificações de evento que estão disponíveis para desenvolvedores de código nativo e de código gerenciado não são idênticas. Os desenvolvedores que estão migrando um módulo HTTP de uma linguagem gerenciada, como C# para código nativo, terão que resolver essas diferenças quando criarem seus novos módulos.
Notificações globais
Com o IIS 7, os desenvolvedores agora podem criar módulos HTTP de código nativo que processam notificações no nível global. Em versões anteriores do IIS, os desenvolvedores podiam criar módulos HTTP que processam notificações apenas no nível da solicitação. Os módulos HTTP que processam notificações no nível global são usados para processar notificações para uma variedade de eventos no nível do servidor.
A tabela a seguir lista os métodos de notificação globais que estão disponíveis para desenvolvedores de código nativo.
Método de notificação de evento | Descrição |
---|---|
OnGlobalApplicationResolveModules | Chamado quando o IIS resolve os módulos registrados. |
OnGlobalApplicationStart | Chamado quando o IIS inicia um aplicativo. |
OnGlobalApplicationStop | Chamado quando o IIS sai de um aplicativo. |
OnGlobalCacheCleanup | Chamado quando o IIS limpa o cache. |
OnGlobalCacheOperation | Chamado quando o IIS executa uma operação relacionada ao cache. |
OnGlobalConfigurationChange | Chamado quando uma alteração é feita em um arquivo de configuração. |
OnGlobalCustomNotification | Chamado quando um módulo gera uma notificação definida pelo usuário. |
OnGlobalFileChange | Chamado quando um arquivo em um site é alterado. |
OnGlobalHealthCheck | Chamado quando uma operação relacionada à integridade é executada. |
OnGlobalPreBeginRequest | Chamado antes de uma solicitação entrar no pipeline de processamento de solicitação integrado. |
OnGlobalRSCAQuery | Chamado quando uma consulta status e controle de Run-Time é executada. |
OnGlobalStopListening | Chamado quando o IIS para de aceitar novas solicitações. |
OnGlobalThreadCleanup | Chamado quando o IIS retorna um thread para o pool de threads. |
OnGlobalTraceEvent | Chamado quando um evento de rastreamento é acionado. |
Comparando notificações de solicitação
Embora os métodos de notificação de solicitação para módulos HTTP de código nativo e código gerenciado sejam semelhantes de várias maneiras, eles não são completamente análogos. Por exemplo, a lista de métodos de notificação de solicitação determinística é quase idêntica para módulos de código nativo e de código gerenciado, mas a lista de métodos de notificação de solicitação não determinística difere muito.
Native-Code notificações de solicitação determinística
A tabela a seguir lista os métodos de notificação de solicitação determinística que estão disponíveis para desenvolvedores de código nativo.
Método de notificação de evento | Método de notificação pós-evento |
---|---|
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 notificações de solicitação determinística
A tabela a seguir lista os métodos de notificação de solicitação determinística que estão disponíveis para desenvolvedores de código gerenciado.
Método de notificação de evento | Método de notificação pós-evento |
---|---|
Beginrequest | (Nenhuma) |
Authenticaterequest | Postauthenticaterequest |
Authorizerequest | Postauthorizerequest |
Resolverequestcache | Postresolverequestcache |
Maprequesthandler | Postmaprequesthandler |
Acquirerequeststate | Postacquirerequeststate |
Prerequesthandlerexecute | (Nenhuma) |
RequestHandlerExecute | Postrequesthandlerexecute |
Releaserequeststate | Postreleaserequeststate |
Updaterequestcache | Postupdaterequestcache |
Logrequest | Postlogrequest |
Endrequest | (Nenhuma) |
Native-Code notificações de solicitação não determinísticas
A tabela a seguir lista os métodos de notificação de solicitação não determinística que estão disponíveis para desenvolvedores de código nativo.
Método de notificação de evento | Método de notificação pós-evento |
---|---|
OnAsyncCompletion | (Nenhuma) |
OnCustomRequestNotification | (Nenhuma) |
OnMapPath | (Nenhuma) |
OnReadEntity | (Nenhuma) |
OnSendResponse | (Nenhuma) |
Managed-Code notificações de solicitação não determinísticas
A tabela a seguir lista os métodos de notificação de solicitação não determinística que estão disponíveis para desenvolvedores de código gerenciado.
Método de notificação de evento | Método de notificação pós-evento |
---|---|
PreSendRequestHeaders | (Nenhuma) |
PreSendRequestContent | (Nenhuma) |
Consulte Também
Criando módulos HTTP Native-Code
Criando módulos HTTP Native-Code