Démarrage de la demande sur les files d’attente de requêtes version 2.0

La fonctionnalité de démarrage de la demande des files d’attente de requêtes d’API HTTP Server version 2.0 permet à l’application contrôleur de retarder l’instanciation du processus worker jusqu’à ce que la première requête arrive sur la file d’attente de requêtes. Ainsi, les applications peuvent éviter de consommer des ressources jusqu’à ce qu’elles soient nécessaires. Pour plus d’informations sur l’application contrôleur, consultez la rubrique File d’attente des demandes nommées .

Démarrage de la demande asynchrone

L’application de contrôleur appelle HttpWaitForDemandStart avec le handle dans la file d’attente de demandes pour lancer une notification de démarrage de la demande. Pour l’achèvement asynchrone, l’application fournit la structure qui se chevauche dans le paramètre pOverlapped . Lorsque HttpWaitForDemandStart est appelé de manière asynchrone, l’application de contrôleur est avertie lorsque la première requête arrive sur la file d’attente des requêtes. Une fois la notification de démarrage de la demande terminée, l’application du contrôleur peut s’inscrire à une autre notification de début de demande dans la file d’attente des demandes.

L’API serveur HTTP n’autorise pas plusieurs notifications de démarrage de demande simultanées pour une file d’attente de requêtes. Toutefois, une fois la notification de démarrage de la demande en attente terminée, l’application appelle à nouveau HttpWaitForDemandStart pour démarrer plusieurs processus de travail sur la file d’attente de requêtes. HTTP n’applique pas de limitations au nombre de notifications de démarrage de la demande ou au nombre de processus de travail fonctionnant sur la file d’attente des requêtes. Les applications de contrôleur peuvent toutefois appliquer le nombre de processus worker autorisés sur une file d’attente de requêtes.

L’API de serveur HTTP prend en charge l’annulation des appels HttpWaitForDemandStart asynchrones. Les applications peuvent utiliser CancelIoEx avec la structure superposée fournie dans pOverlapped, pour annuler un appel HttpWaitForDemandStart en cours.

Démarrage de la demande synchrone

Le démarrage de la demande synchrone n’est pas recommandé, car l’application se bloque jusqu’à ce qu’une requête arrive dans la file d’attente des requêtes.