Cancelación de llamadas
La notificación de cancelación de llamadas cancela el funcionamiento de las operaciones del servicio del lado servidor y las devoluciones de llamada del modelo de servicio. Esta cancelación puede ser por una de estas dos razones:
- El host de servicio ha detenido las operaciones debido a una llamada a la función WsAbortServiceHost .
- El canal subyacente ha generado un error.
Para recibir una notificación de cancelación, la operación de servicio o la devolución de llamada del modelo de servicio deben registrar una devolución de llamada WS_OPERATION_CANCEL_CALLBACK llamando a la función WsRegisterOperationForCancel .
Opcionalmente, como parte del registro de la notificación de cancelación, la operación de servicio o la devolución de llamada del modelo de servicio también pueden registrar datos de estado específicos de la aplicación y la devolución de llamada WS_OPERATION_FREE_STATE_CALLBACK .
Los datos de estado están disponibles para la devolución de llamada WS_OPERATION_CANCEL_CALLBACK . Al finalizar la llamada, se llama a la devolución de llamada WS_OPERATION_FREE_STATE_CALLBACK para dar a la aplicación la oportunidad de liberar los datos de estado.
Para obtener un ejemplo de código, vea BlockingServiceExample.
La devolución de llamada de cancelación se llama solo una vez durante la vigencia de las operaciones del servicio del lado servidor o la función de devolución de llamada.
La cancelación de llamadas está disponible en para todas las devoluciones de llamada del host de servicio que toman WS_OPERATION_CONTEXT como parámetro.
Los siguientes elementos de API se relacionan con la cancelación de llamadas.
Devolución de llamada | Descripción |
---|---|
WS_OPERATION_CANCEL_CALLBACK | Invocado por el modelo de servicio para notificar una cancelación de una operación de servicio asincrónica como resultado de un apagado anulado del host de servicio. |
WS_OPERATION_FREE_STATE_CALLBACK | Invocado por el modelo de servicio para permitir que una aplicación limpie los datos de estado registrados con la devolución de llamada de cancelación. |
Función | Descripción |
---|---|
WsRegisterOperationForCancel | Permite que una operación de servicio o una devolución de llamada del modelo de servicio se registren para una notificación de cancelación. |