Comparación de notificaciones de Native-Code y Managed-Code
Aunque la canalización integrada de procesamiento de solicitudes en el núcleo del servidor web de IIS 7 permite a los desarrolladores de código nativo escribir módulos HTTP en C++, las notificaciones de eventos que están disponibles para los desarrolladores de código nativo y código administrado no son idénticas. Los desarrolladores que migran un módulo HTTP desde un lenguaje administrado, como C# a código nativo, tendrán que abordar estas diferencias al crear sus nuevos módulos.
Notificaciones globales
Con IIS 7, los desarrolladores ahora pueden crear módulos HTTP de código nativo que procesan las notificaciones a nivel global. En versiones anteriores de IIS, los desarrolladores podían crear módulos HTTP que procesaron notificaciones solo en el nivel de solicitud. Los módulos HTTP que procesan notificaciones en el nivel global se usan para procesar notificaciones para una variedad de eventos de nivel de servidor.
En la tabla siguiente se enumeran los métodos de notificación globales que están disponibles para los desarrolladores de código nativo.
Método de notificación de eventos | Descripción |
---|---|
OnGlobalApplicationResolveModules | Se llama cuando IIS resuelve los módulos registrados. |
OnGlobalApplicationStart | Se llama cuando IIS inicia una aplicación. |
OnGlobalApplicationStop | Se llama cuando IIS sale de una aplicación. |
OnGlobalCacheCleanup | Se llama cuando IIS borra la memoria caché. |
OnGlobalCacheOperation | Se llama cuando IIS realiza una operación relacionada con la memoria caché. |
OnGlobalConfigurationChange | Se llama cuando se realiza un cambio en un archivo de configuración. |
OnGlobalCustomNotification | Se llama cuando un módulo genera una notificación definida por el usuario. |
OnGlobalFileChange | Se llama cuando se cambia un archivo dentro de un sitio web. |
OnGlobalHealthCheck | Se llama cuando se ejecuta una operación relacionada con el estado. |
OnGlobalPreBeginRequest | Se llama antes de que una solicitud entre en la canalización integrada de procesamiento de solicitudes. |
OnGlobalRSCAQuery | Se llama cuando se ejecuta una consulta de estado y control de Run-Time. |
OnGlobalStopListening | Se llama cuando IIS deja de aceptar nuevas solicitudes. |
OnGlobalThreadCleanup | Se llama cuando IIS devuelve un subproceso al grupo de subprocesos. |
OnGlobalTraceEvent | Se llama cuando se genera un evento de seguimiento. |
Comparación de notificaciones de solicitud
Aunque los métodos de notificación de solicitud para los módulos HTTP de código nativo y código administrado son similares de muchas maneras, no son completamente análogos. Por ejemplo, la lista de métodos de notificación de solicitud deterministas es casi idéntica para los módulos de código nativo y de código administrado, pero la lista de métodos de notificación de solicitud no deterministas difiere en gran medida.
Notificaciones de solicitud deterministas Native-Code
En la tabla siguiente se enumeran los métodos de notificación de solicitud deterministas que están disponibles para desarrolladores de código nativo.
Método de notificación de eventos | Método de notificación posterior al 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 |
Notificaciones de solicitud deterministas Managed-Code
En la tabla siguiente se enumeran los métodos de notificación de solicitud deterministas que están disponibles para los desarrolladores de código administrado.
Método de notificación de eventos | Método de notificación posterior al evento |
---|---|
BeginRequest | (Ninguna) |
AuthenticateRequest | PostAuthenticateRequest |
AuthorizeRequest | PostAuthorizeRequest |
ResolveRequestCache | PostResolveRequestCache |
MapRequestHandler | PostMapRequestHandler |
AcquireRequestState | PostAcquireRequestState |
PreRequestHandlerExecute | (Ninguna) |
RequestHandlerExecute | PostRequestHandlerExecute |
ReleaseRequestState | PostReleaseRequestState |
UpdateRequestCache | PostUpdateRequestCache |
LogRequest | PostLogRequest |
EndRequest | (Ninguna) |
Notificaciones de solicitud no deterministas Native-Code
En la tabla siguiente se enumeran los métodos de notificación de solicitudes no deterministas que están disponibles para los desarrolladores de código nativo.
Método de notificación de eventos | Método de notificación posterior al evento |
---|---|
OnAsyncCompletion | (Ninguna) |
OnCustomRequestNotification | (Ninguna) |
OnMapPath | (Ninguna) |
OnReadEntity | (Ninguna) |
OnSendResponse | (Ninguna) |
Notificaciones de solicitud no deterministas Managed-Code
En la tabla siguiente se enumeran los métodos de notificación de solicitudes no deterministas que están disponibles para los desarrolladores de código administrado.
Método de notificación de eventos | Método de notificación posterior al evento |
---|---|
PreSendRequestHeaders | (Ninguna) |
PreSendRequestContent | (Ninguna) |
Consulte también
Creación de módulos HTTP de Native-Code
Diseño de módulos HTTP de Native-Code