WebhostOpenListenerChannelInstance-Funktion
Fordert an, dass ein Listenerkanal in einem Arbeitsprozess für diesen Anwendungspool gestartet wird.
Syntax
HRESULT WebhostOpenListenerChannelInstance(
IN DWORD ProtocolHandle,
IN LPCWSTR AppPoolId,
IN DWORD ListenerChannelId,
IN PBYTE ListenerChannelBlob,
IN DWORD ListenerChannelBlobByteCount
);
Parameter
ProtocolHandle
[IN] Ein DWORD
, der das Protokollhandle für den Listenerkanal enthält.
AppPoolId
[IN] Eine Zeichenfolge, die die Anwendungspool-ID für den Listenerkanal enthält.
ListenerChannelId
[IN] Eine DWORD
, die den Listenerkanalbezeichner enthält.
ListenerChannelBlob
[IN] Eine PBYTE
, die informationen enthält, die zum Verbinden des Arbeitsprozesses mit dem Listener erforderlich sind. Die Daten sind für den Windows-Prozessaktivierungsdienst (WAS) nicht sichtbar. Weitere Informationen finden Sie weiter unten im Abschnitt "Hinweise".
ListenerChannelBlobByteCount
[IN] Ein DWORD
, der die Anzahl der Bytes im Listenerkanal-BLOB enthält.
Rückgabewert
HRESULT
. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Wert | BESCHREIBUNG |
---|---|
S_OK | Gibt an, dass der Vorgang erfolgreich war. |
E_INVALIDARG | Gibt an, dass einer der Parameter ungültig ist. |
HRESULT_FROM_WIN32( ERROR_NOT_FOUND) | Gibt an, dass das Protokoll nicht registriert wurde. |
HRESULT_FROM_WIN32(ERROR_PIPE_NOT_CONNECTED) | Gibt an, dass der Listeneradapter nicht mit dem Windows-Prozessaktivierungsdienst verbunden ist. |
Bemerkungen
Die Funktion wird aufgerufen, wenn der Listenerkanal seine erste Anforderung empfängt oder wenn der Windows-Prozessaktivierungsdienst den Listeneradapter benachrichtigt, dass er eine weitere instance des Listenerkanals starten kann.
Der ListenerChannelBlob
Parameter wird an den Windows-Prozessaktivierungsdienst, den Arbeitsprozess und den Protokoll-Manager übergeben. Wenn der Listeneradapter Anforderungen pro Anwendung weiterleitet, enthält das BLOB wahrscheinlich den Anwendungsschlüssel, den der Prozessprotokollhandler an den Protokoll-Manager übergeben muss. Der Protokoll-Manager benötigt den Anwendungsschlüssel, damit der Protokollhandler der Anwendungsdomäne verbunden werden kann. Die Details des BLOB bleiben dem Protokollschreiber überlassen.
Standardmäßig richtet der Windows-Prozessaktivierungsdienst einen überlappenden Wiederverwendungsprozess ein, bei dem der zu beendende Arbeitsprozess bis zum Start eines neuen Arbeitsprozesses ausgeführt wird. Der Windows-Prozessaktivierungsdienst speichert das Listenerkanal-BLOB und verwendet es, um den neuen Arbeitsprozess aufzufordern, eine Verbindung herzustellen. Dies bedeutet, dass der Listenerkanal in der Lage sein muss, mehrere Prozesse zu akzeptieren, die eine Verbindung mit dem Kanal herstellen.
Der Windows-Prozessaktivierungsdienst verwaltet nicht, wie sich ein Listenerkanal auf eine Anwendung bezieht (z. B. kann der Listener mehrere Listenerkanäle pro Anwendungspool oder nur einen auswählen). Daher kann der Windows-Prozessaktivierungsdienst für den Listeneradapter nicht bestimmen, was mit den Listenerkanälen geschehen soll, wenn Änderungen auftreten. Der Windows-Prozessaktivierungsdienst benachrichtigt einfach den Listeneradapter und ermöglicht es diesem, diese Entscheidungen zu verwalten.
Sie müssen die Zugriffssteuerungslisten (Access Control Lists, ACLs) der Listenerkanäle auf die Identität des Anwendungspools festlegen.
Anforderungen
type | BESCHREIBUNG |
---|---|
Client | – IIS 7.0 unter Windows Vista – IIS 7.5 unter Windows 7 – IIS 8.0 unter Windows 8 – IIS 10.0 unter Windows 10 |
Server | – IIS 7.0 unter Windows Server 2008 – IIS 7.5 unter Windows Server 2008 R2 – IIS 8.0 unter Windows Server 2012 – IIS 8.5 unter Windows Server 2012 R2 – IIS 10.0 unter Windows Server 2016 |
Produkt | – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
Header | Listeneradapter.h |