線程安全性
此 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 服務傳回值。
如果無法遵循對象的線程合約,將會導致未定義的行為。