Annullamento delle chiamate
La notifica di annullamento delle chiamate annulla il funzionamento delle operazioni sul lato server e dei callback del modello di servizio. Tale annullamento può essere per uno dei due motivi seguenti:
- L'host del servizio ha arrestato le operazioni a causa di una chiamata alla funzioneWsAbortServiceHost.
- Il canale sottostante ha generato un errore.
Per ricevere una notifica di annullamento, l'operazione del servizio o il callback del modello di servizio deve registrare un callback WS_OPERATION_CANCEL_CALLBACK chiamando la funzioneWsRegisterOperationForCancel.
Facoltativamente, come parte della registrazione per la notifica di annullamento, l'operazione del servizio o il callback del modello di servizio possono anche registrare dati di stato specifici dell'applicazione e il callback WS_OPERATION_FREE_STATE_CALLBACK.
I dati sullo stato sono resi disponibili al callback WS_OPERATION_CANCEL_CALLBACK. Al completamento della chiamata, viene chiamato il callback WS_OPERATION_FREE_STATE_CALLBACK per consentire all'applicazione di liberare i dati sullo stato.
Per un esempio di codice, vedere BlockingServiceExample.
Il callback di annullamento viene chiamato una sola volta per la durata delle operazioni del servizio lato server o di callback.
L'annullamento delle chiamate è disponibile in per tutti i callback dell'host del servizio che accettano WS_OPERATION_CONTEXT come parametro.
Gli elementi API seguenti sono correlati all'annullamento delle chiamate.
Richiamo | Descrizione |
---|---|
WS_OPERATION_CANCEL_CALLBACK | Richiamato dal modello di servizio per notificare l'annullamento di un'operazione asincrona del servizio a seguito di un arresto interrotto dell'host del servizio. |
WS_OPERATION_FREE_STATE_CALLBACK | Richiamato dal modello di servizio per consentire a un'applicazione di pulire i dati sullo stato registrati con il callback di annullamento. |
Funzione | Descrizione |
---|---|
WsRegisterOperationForCancel | Consente a un'operazione del servizio o al callback del modello di servizio di eseguire la registrazione per una notifica di annullamento. |