Threadsicherheit
Alle Funktionen in dieser API sind sicher, gleichzeitig aus verschiedenen Threads aufzurufen. Jedes Objekt, das als Parameter an die Funktionen übergeben wird, weist jedoch ein bestimmtes Threadingverhalten auf, wie unten beschrieben.
Die folgenden Handles sind single threaded und unterstützen keine gleichzeitigen Vorgänge für eine bestimmte Instanz:
- WS_HEAP
- WS_MESSAGE
- WS_XML_BUFFER
- WS_XML_READER
- WS_XML_WRITER
- WS_ERROR
- WS_OPERATION_CONTEXT
- WS_POLICY
- WS_METADATA
- WS_SECURITY_TOKEN
- WS_SECURITY_CONTEXT
Die folgenden Handles sind Freithreads und unterstützen gleichzeitige Vorgänge für eine bestimmte Instanz:
Für alle diese Handles wird threading in Bezug auf Vorgänge definiert (nicht Funktionsaufrufe). Ein Vorgang wird für Funktionen, die synchron aufgerufen werden, anders definiert als funktionen, die asynchron aufgerufen werden:
- Bei Funktionen, die synchron aufgerufen werden, steht der Vorgang während der Ausführung der Funktion aus.
- Bei funktionen, die asynchron aufgerufen werden, wenn die Funktion einen anderen Rückgabecode zurückgibt als WS_S_ASYNC der Vorgang während der Ausführung der Funktion aussteht. Wenn die Funktion WS_S_ASYNC zurückgibt, steht der Vorgang jedoch aus, bis die WS_ASYNC_CALLBACK aufgerufen wird. Weitere Informationen zum asynchronen Aufrufen von Funktionen finden Sie im Thema asynchronen Modell. Fehlercodes finden Sie unter Windows Web Services Rückgabewerte.
Wenn sie dem Threading-Vertrag für ein Objekt nicht folgen, wird das Verhalten nicht definiert.