Durée de vie et thread du contexte d’opération
La durée de vie du contexte d’opération, représentée par un handle WS_OPERATION_CONTEXT , détermine la durée de vie des propriétés qu’il contient. Par conséquent, un contexte ne doit être utilisé que pendant la durée de vie de l’opération de service ou du rappel auquel il a fourni. La durée de vie d’un appel synchrone est l’exécution de la fonction elle-même. Pour un appel asynchrone, la durée de vie se termine une fois l’appel asynchrone terminé. Le modèle de service n’offre aucune garantie sur le contexte une fois l’appel terminé. Le comportement de s’appuyer sur le contexte d’opération ou l’une de ses propriétés au-delà de sa durée de vie n’est pas défini.
Consultez également l’exemple de calculatrice basée sur une session, SessionfullCalculatorServiceExample.
Modèle de thread
Le contexte d’opération prend en charge le thread libre, mais cela est vrai pour le contexte d’opération lui-même et ne s’applique à aucune des propriétés qu’il contient.
Lorsque vous inscrivez un rappel d’annulation pour une opération de service via la fonction WsRegisterOperationForCancel , notez que la première inscription réussit ; Toutefois, la définition du rappel d’annulation plusieurs fois échoue.