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