TsgcWSPServer_WAMP › Événements › OnBeforeCancelCall
Déclenché lorsqu'un client demande l'annulation d'un RPC en cours, donnant au serveur la possibilité d'honorer ou de refuser la requête.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
Déclenché lorsqu'une trame CALLCANCEL arrive pour un CALL précédemment distribué identifié par CallId. Cancel est True par défaut, ce qui indique au broker d'arrêter de livrer les résultats de progression pour cet appel et d'attendre un CallError terminal de l'application. Définissez Cancel à False pour refuser l'annulation — le RPC continuera à s'exécuter et son CallResult ou CallError final sera tout de même renvoyé. Les utilisations typiques sont les requêtes longues, les traitements par lot ou les RPC en arrière-plan où l'appelant a changé d'avis.
procedure TForm1.WAMPServerBeforeCancelCall(Connection: TsgcWSConnection;
const CallId: string; var Cancel: Boolean);
begin
// honour the cancel and respond with an error so the caller resolves
Cancel := True;
WSPServerWAMP1.CallError(Connection, CallId,
'http://example.com/errors/cancelled', 'call cancelled by client');
end;