Megosztás a következőn keresztül:


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.