Anforderungswarteschleifen für Version 2.0

Die Anforderungsstartfunktion der API-Anforderungswarteschlangen von HTTP Server Version 2.0 ermöglicht der Controlleranwendung, die Instanziierung des Arbeitsprozesses zu verzögern, bis die erste Anforderung in die Anforderungswarteschlange gelangt. Daher können die Anwendungen den Verbrauch von Ressourcen vermeiden, bis sie erforderlich sind. Weitere Informationen zur Controlleranwendung finden Sie im Thema "Benannte Anforderungswarteschlange ".

Asynchroner Bedarfsstart

Die Controlleranwendung ruft HttpWaitForDemandStart mit dem Handle für die Anforderungswarteschlange auf, um eine Anforderungsstartbenachrichtigung zu initiieren. Zur asynchronen Fertigstellung stellt die Anwendung die überlappende Struktur im pOverlapped-Parameter zur Verfügung. Wenn HttpWaitForDemandStart asynchron aufgerufen wird, wird die Controlleranwendung benachrichtigt, wenn die erste Anforderung in der Anforderungswarteschlange eingeht. Nach Abschluss der Anforderungsstartbenachrichtigung kann die Controlleranwendung für eine weitere Anforderungsstartbenachrichtigung in der Anforderungswarteschlange registrieren.

Die HTTP Server-API erlaubt nicht mehr als eine gleichzeitige Anforderungsstartbenachrichtigung für eine Anforderungswarteschlange. Wenn die ausstehende Anforderungsstartbenachrichtigung abgeschlossen ist, ruft die Anwendung jedoch erneut HttpWaitForDemandStart auf, um mehrere Arbeitsprozesse in der Anforderungswarteschlange zu starten. HTTP erzwingt keine Einschränkungen für die Anzahl der Anforderungsstartbenachrichtigungen oder die Anzahl der Arbeitsprozesse, die in der Anforderungswarteschlange ausgeführt werden. Die Controlleranwendungen können jedoch die Anzahl der in einer Anforderungswarteschlange zulässigen Arbeitsprozesse erzwingen.

Die HTTP Server-API unterstützt das Abbrechen asynchroner HttpWaitForDemandStart-Aufrufe . Anwendungen können CancelIoEx mit der in pOverlapped bereitgestellten überlappenden Struktur verwenden, um einen herausragenden HttpWaitForDemandStart-Aufruf abzubrechen.

Synchroner Bedarfsstart

Der synchrone Bedarfsstart wird nicht empfohlen, da die Anwendung blockiert wird, bis eine Anforderung in der Anforderungswarteschlange eingeht.