Threadsicherheit
Alle Funktionen in dieser API können sicher gleichzeitig von verschiedenen Threads aufgerufen werden. Jedes Objekt, das als Parameter an die Funktionen übergeben wird, weist jedoch ein bestimmtes Threadingverhalten auf, wie unten beschrieben.
Die folgenden Handles sind Einzelthreads und unterstützen keine gleichzeitigen Vorgänge für eine bestimmte instance:
- 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 instance:
Für alle diese Handles wird Threading in Bezug auf Vorgänge (nicht Funktionsaufrufe) definiert. Ein Vorgang wird für synchron aufgerufene Funktionen anders definiert als für asynchron aufgerufene Funktionen:
- Für synchron aufgerufene Funktionen steht der Vorgang während der Ausführung der Funktion aus.
- Für asynchron aufgerufene Funktionen, wenn die Funktion einen anderen Rückgabecode als WS_S_ASYNC der Vorgang während der Ausführung der Funktion aussteht. Wenn die Funktion jedoch WS_S_ASYNC zurückgibt, ist der Vorgang ausstehend, bis der WS_ASYNC_CALLBACK aufgerufen wird. Weitere Informationen zum asynchronen Aufrufen von Funktionen finden Sie im Thema Asynchrones Modell . Fehlercodes finden Sie unter Rückgabewerte für Windows-Webdienste.
Wenn der Threadingvertrag für ein Objekt nicht befolgt wird, führt dies zu einem nicht definierten Verhalten.