執行緒安全性
此 API 中的所有函式都可以安全地從不同的執行緒同時呼叫。 不過,傳遞為參數給函式的每個物件都有特定的執行緒行為,如下所述。
下列控制碼是單一執行緒,且不支援特定實例的並行作業:
- 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
下列控制碼是無線程的,而且確實支援特定實例的並行作業:
對於所有這些控制碼,執行緒是以作業定義, (不是函式呼叫) 。 針對以同步方式叫用的函式與非同步叫用的函式,會以不同的方式定義作業:
- 如果是以同步方式叫用的函式,作業會在函式執行期間擱置。
- 如果是以非同步方式叫用的函式,如果函式傳回 非WS_S_ASYNC 作業在執行函式期間擱置的傳回碼。 不過,如果函式傳回 WS_S_ASYNC ,則作業會擱置,直到 叫用WS_ASYNC_CALLBACK 為止。 如需非同步叫用函式的詳細資訊,請參閱 非同步模型 主題。 如需錯誤碼,請參閱 Windows Web 服務傳回值。
若無法遵循物件的執行緒合約,將會導致未定義的行為。