Anrufabbruch

Die Anrufabbruchbenachrichtigung bricht den Vorgang von serverseitigen Dienstvorgängen und Dienstmodellrückrufen ab. Eine solche Stornierung kann aus einem von zwei Gründen vorliegen:

Um eine Abbruchbenachrichtigung zu erhalten, muss der Dienstvorgang oder der Dienstmodellrückruf einen WS_OPERATION_CANCEL_CALLBACK Rückruf registrieren, indem die WsRegisterOperationForCancel-Funktion aufgerufen wird .

Optional kann der Dienstvorgang oder Dienstmodellrückruf im Rahmen der Registrierung für die Abbruchbenachrichtigung auch anwendungsspezifische Zustandsdaten und den WS_OPERATION_FREE_STATE_CALLBACK Rückruf registrieren.

Die Zustandsdaten werden dem WS_OPERATION_CANCEL_CALLBACK Rückruf zur Verfügung gestellt. Nach Abschluss des Aufrufs wird der WS_OPERATION_FREE_STATE_CALLBACK Rückruf aufgerufen, um der Anwendung die Möglichkeit zu geben, die Zustandsdaten freizugeben.

Ein Codebeispiel finden Sie unter BlockingServiceExample.

Der Abbruchrückruf wird nur einmal für die Lebensdauer der serverseitigen Dienstvorgänge oder Rückruffunktion aufgerufen.

Der Anrufabbruch ist in für alle Diensthostrückrufe verfügbar, die WS_OPERATION_CONTEXT als Parameter verwenden.

Die folgenden API-Elemente beziehen sich auf den Aufrufabbruch.

Rückruf BESCHREIBUNG
WS_OPERATION_CANCEL_CALLBACK Wird vom Dienstmodell aufgerufen, um einen Abbruch eines asynchronen Dienstvorgangs aufgrund eines abgebrochenen Herunterfahrens des Diensthosts zu benachrichtigen.
WS_OPERATION_FREE_STATE_CALLBACK Wird vom Dienstmodell aufgerufen, um einer Anwendung das sauber von Zustandsdaten zu ermöglichen, die beim Abbruchrückruf registriert wurden.

 

Funktion BESCHREIBUNG
WsRegisterOperationForCancel Ermöglicht es einem Dienstvorgang oder einem Dienstmodellrückruf, sich für eine Abbruchbenachrichtigung zu registrieren.