TsgcWSPServer_WAMPÉvénements › OnBeforeCancelCall

OnBeforeCancelCall Événement

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.

Syntaxe

property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object

Valeur par défaut

Remarques

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.

Exemple


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;

Retour aux événements