Anrufabbruch

Die Anrufabbruchbenachrichtigung bricht den Vorgang serverseitiger Dienstvorgänge und Dienstmodellrückrufe ab. Ein solcher Abbruch kann aus zwei Gründen auftreten:

  • Der Diensthost hat Vorgänge aufgrund eines Aufrufs der WsAbortServiceHost-Funktion beendet.
  • Der zugrunde liegende Kanal hat einen Fehler ausgelöst.

Um eine Abbruchbenachrichtigung zu erhalten, muss der Dienstvorgang oder Dienstmodellrückruf einen WS _ OPERATION CANCEL _ _ CALLBACK-Rückruf registrieren, indem die WsRegisterOperationForCancel-Funktion aufruft.

Optional kann der Dienstvorgang oder Dienstmodellrückruf im Rahmen der Registrierung für abbruchbenachrichtigungen auch anwendungsspezifische Zustandsdaten und den RÜCKRUF-Rückruf des _ WS-VORGANGS FREE _ _ STATE _ registrieren.

Die Zustandsdaten werden dem Rückruf WS _ OPERATION CANCEL _ _ CALLBACK zur Verfügung gestellt. Bei Abschluss des Aufrufs wird der RÜCKRUF-Rückruf für den _ WS-VORGANG FREE _ _ STATE _ aufgerufen, um der Anwendung die Möglichkeit zu geben, die Zustandsdaten frei zu geben.

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 Aufrufabbruch 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
RÜCKRUF ZUM _ ABBRECHEN DES _ WS-VORGANGS _ Wird vom Dienstmodell aufgerufen, um einen Abbruch eines asynchronen Dienstvorgang als Ergebnis eines abgebrochenen Herunterfahrens des Diensthosts zu benachrichtigen.
RÜCKRUF FÜR _ DEN FREIEN ZUSTAND DES _ WS-VORGANGS _ _ Wird vom Dienstmodell aufgerufen, damit eine Anwendung Zustandsdaten bereinigt, 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.