Freigeben über


Vorgangskontextlebensdauer und Threading

Die Lebensdauer des Vorgangskontexts, dargestellt durch ein WS_OPERATION_CONTEXT-Handle , bestimmt die Lebensdauer der enthaltenen Eigenschaften. Daher sollte ein Kontext nur innerhalb der Lebensdauer des Dienstvorgangs oder des Rückrufs verwendet werden, für den er bereitgestellt wird. Die Lebensdauer eines synchronen Aufrufs ist die Ausführung der Funktion selbst. Bei einem asynchronen Aufruf endet die Lebensdauer nach Abschluss des asynchronen Aufrufs. Das Dienstmodell gibt keine Garantien für den Kontext, sobald der Aufruf abgeschlossen ist. Das Verhalten, sich auf den Vorgangskontext oder eine seiner Eigenschaften über die Lebensdauer hinaus zu verlassen, ist nicht definiert.

Siehe auch das sitzungsbasierte Rechnerbeispiel SessionfullCalculatorServiceExample.

Threading-Modell

Der Vorgangskontext unterstützt freies Threading. Dies gilt jedoch für den Vorgangskontext selbst und gilt nicht für eine der enthaltenen Eigenschaften.

Wenn Sie einen Rückruf zum Abbrechen für einen Dienstvorgang über die Funktion WsRegisterOperationForCancel registrieren, beachten Sie, dass die erste Registrierung erfolgreich ist. Wenn Sie den Rückruf abbrechen mehrmals festlegen, tritt jedoch ein Fehler auf.