Hívás lemondása
A híváslemondási értesítés megszakítja kiszolgálóoldali szolgáltatásműveletek és szolgáltatásmodell-visszahívások működését. Az ilyen lemondásnak két oka lehet:
- A szolgáltatás gazdagépe leállt a WsAbortServiceHost függvény hívása miatt.
- A mögöttes csatorna hibát észlelt.
Lemondási értesítés fogadásához a szolgáltatásműveletnek vagy a szolgáltatásmodell visszahívásának regisztrálnia kell egy WS_OPERATION_CANCEL_CALLBACK visszahívást a WsRegisterOperationForCancel függvény meghívásával.
A lemondási értesítésre való regisztráció részeként a szolgáltatásművelet vagy a szolgáltatásmodell visszahívása alkalmazásspecifikus állapotadatokat és WS_OPERATION_FREE_STATE_CALLBACK visszahívást is regisztrálhat.
Az állapotadatok elérhetővé válnak a WS_OPERATION_CANCEL_CALLBACK visszahívás számára. A hívás befejezésekor a rendszer meghívja a WS_OPERATION_FREE_STATE_CALLBACK visszahívást, amely lehetőséget ad az alkalmazásnak az állapotadatok felszabadítására.
Példakód: BlockingServiceExample.
A lemondási visszahívást a rendszer csak egyszer hívja meg a kiszolgálóoldali szolgáltatás műveleteinek vagy visszahívási függvényének élettartama alatt.
A híváslemondás minden olyan szolgáltatás gazdagép-visszahíváshoz elérhető, amely paraméterként WS_OPERATION_CONTEXT.
A következő API-elemek a híváslemondáshoz kapcsolódnak.
Visszahívási | Leírás |
---|---|
WS_OPERATION_CANCEL_CALLBACK | A szolgáltatásmodell meghívja egy aszinkron szolgáltatásművelet megszakításának értesítésére a szolgáltatás gazdagépének megszakított leállása miatt. |
WS_OPERATION_FREE_STATE_CALLBACK | A szolgáltatásmodell meghívta, hogy az alkalmazás megtisztítsa a lemondási visszahívással regisztrált állapotadatokat. |
Funkció | Leírás |
---|---|
WsRegisterOperationForCancel | Lehetővé teszi, hogy egy szolgáltatásművelet vagy szolgáltatásmodell visszahívása regisztráljon egy lemondási értesítésre. |