Partager via


Comparaison des notifications Native-Code et Managed-Code

Bien que le pipeline intégré de traitement des demandes dans le cœur de serveur web IIS 7 permette aux développeurs de code natif d’écrire des modules HTTP en C++, les notifications d’événements disponibles pour les développeurs de code natif et de code managé ne sont pas identiques. Les développeurs qui migrent un module HTTP d’un langage managé tel que C# vers du code natif devront résoudre ces différences lorsqu’ils créent leurs nouveaux modules.

Notifications globales

Avec IIS 7, les développeurs peuvent désormais créer des modules HTTP de code natif qui traitent les notifications au niveau global. Dans les versions précédentes d’IIS, les développeurs pouvaient créer des modules HTTP qui traitaient les notifications uniquement au niveau de la demande. Les modules HTTP qui traitent les notifications au niveau global sont utilisés pour traiter les notifications pour divers événements au niveau du serveur.

Le tableau suivant répertorie les méthodes de notification globales disponibles pour les développeurs de code natif.

Méthode de notification d’événement Description
OnGlobalApplicationResolveModules Appelé lorsque IIS résout les modules inscrits.
OnGlobalApplicationStart Appelé quand IIS démarre une application.
OnGlobalApplicationStop Appelé quand IIS quitte une application.
OnGlobalCacheCleanup Appelé lorsque IIS efface le cache.
OnGlobalCacheOperation Appelé quand IIS effectue une opération liée au cache.
OnGlobalConfigurationChange Appelé lorsqu’une modification est apportée à un fichier de configuration.
OnGlobalCustomNotification Appelé lorsqu’un module déclenche une notification définie par l’utilisateur.
OnGlobalFileChange Appelé lorsqu’un fichier au sein d’un site web est modifié.
OnGlobalHealthCheck Appelé lors de l’exécution d’une opération liée à l’intégrité.
OnGlobalPreBeginRequest Appelée avant qu’une requête n’entre dans le pipeline intégré de traitement des demandes.
OnGlobalRSCAQuery Appelé lors de l’exécution d’une requête d’état et de contrôle Run-Time.
OnGlobalStopListening Appelé lorsque IIS cesse d’accepter de nouvelles demandes.
OnGlobalThreadCleanup Appelé quand IIS retourne un thread au pool de threads.
OnGlobalTraceEvent Appelé lorsqu’un événement de trace est déclenché.

Comparaison des notifications de demande

Bien que les méthodes de notification de demande pour les modules HTTP en code natif et en code managé soient similaires à bien des égards, elles ne sont pas totalement analogues. Par exemple, la liste des méthodes de notification de requête déterministes est presque identique pour les modules de code natif et de code managé, mais la liste des méthodes de notification de requête non déterministes diffère considérablement.

Native-Code notifications de requête déterministes

Le tableau suivant répertorie les méthodes de notification de requête déterministes disponibles pour les développeurs de code natif.

Méthode de notification d’événement Méthode de notification post-événement
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 notifications de requête déterministes

Le tableau suivant répertorie les méthodes de notification de requête déterministes disponibles pour les développeurs de code managé.

Méthode de notification d’événement Méthode de notification post-événement
Beginrequest (aucune)
AuthenticateRequest PostAuthenticateRequest
Authorizerequest PostAuthorizeRequest
ResolveRequestCache PostResolveRequestCache
MapRequestHandler PostMapRequestHandler
AcquireRequestState PostAcquireRequestState
PreRequestHandlerExecute (aucune)
RequestHandlerExecute PostRequestHandlerExecute
ReleaseRequestState PostReleaseRequestState
UpdateRequestCache PostUpdateRequestCache
LogRequest PostLogRequest
Endrequest (aucune)

Native-Code notifications de requête non déterministes

Le tableau suivant répertorie les méthodes de notification des requêtes non déterministes qui sont disponibles pour les développeurs de code natif.

Méthode de notification d’événement Méthode de notification post-événement
OnAsyncCompletion (aucune)
OnCustomRequestNotification (aucune)
OnMapPath (aucune)
OnReadEntity (aucune)
OnSendResponse (aucune)

Managed-Code notifications de requête non déterministes

Le tableau suivant répertorie les méthodes de notification des demandes non déterministes qui sont disponibles pour les développeurs de code managé.

Méthode de notification d’événement Méthode de notification post-événement
PreSendRequestHeaders (aucune)
PreSendRequestContent (aucune)

Voir aussi

Création de modules HTTP Native-Code
Conception de modules HTTP Native-Code