Поделиться через


Время существования контекста операции и потоки

Время существования контекста операции, представленное дескриптором WS_OPERATION_CONTEXT , определяет время существования содержащихся в нем свойств. Таким образом, контекст следует использовать только в течение времени существования операции службы или обратного вызова, для которого он предоставляется. Время существования синхронного вызова — это выполнение самой функции. Для асинхронного вызова время существования заканчивается после завершения асинхронного вызова. Модель службы не дает никаких гарантий относительно контекста после завершения вызова. Поведение использования контекста операции или любых ее свойств после времени существования не определено.

См. также пример калькулятора на основе сеанса SessionfullCalculatorServiceExample.

Модель потоков

Контекст операции поддерживает свободные потоки, однако это относится к самому контексту операции и не применяется ни к одному из содержащихся в нем свойств.

При регистрации обратного вызова отмены для операции службы с помощью функции WsRegisterOperationForCancel обратите внимание, что первая регистрация будет успешной. Однако установка обратного вызова отмены несколько раз завершится ошибкой.