Trådsäkerhet
Alla funktioner i det här API:et är säkra att anropa samtidigt från olika trådar. Varje objekt som skickas som en parameter till funktionerna har dock specifika trådbeteenden enligt beskrivningen nedan.
Följande referenser är enkla trådade och stöder inte samtidiga åtgärder för en viss instans:
- 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
Följande referenser är kostnadsfria trådade och stöder samtidiga åtgärder för en viss instans:
För alla dessa referenser definieras trådning när det gäller åtgärder (inte funktionsanrop). En åtgärd definieras på olika sätt för funktioner som anropas synkront jämfört med funktioner som anropas asynkront:
- För funktioner som anropas synkront väntar åtgärden under körningen av funktionen.
- För funktioner som anropas asynkront, om funktionen returnerar en annan returkod än WS_S_ASYNC väntar åtgärden under körningen av funktionen. Om funktionen returnerar WS_S_ASYNC väntar dock åtgärden tills WS_ASYNC_CALLBACK anropas. Mer information om hur du anropar funktioner asynkront finns i avsnittet Asynkron modell. Felkoder finns i Windows Web Services Return Values.
Om du inte följer trådningskontraktet för ett objekt resulterar det i ett odefinierat beteende.