TsgcWSPServer_WAMPEreignisse › OnBeforeCancelCall

OnBeforeCancelCall Ereignis

Wird ausgelöst, wenn ein Client darum bittet, einen laufenden RPC abzubrechen, und gibt dem Server die Möglichkeit, die Anfrage zu erfüllen oder abzulehnen.

Syntax

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

Standardwert

Hinweise

Wird ausgelöst, wenn ein CALLCANCEL-Frame für einen zuvor verteilten, durch CallId identifizierten CALL eintrifft. Cancel ist standardmäßig True, was dem Broker mitteilt, die Zustellung von Progress Results für diesen Aufruf zu stoppen und einen abschließenden CallError von der Anwendung zu erwarten. Setzen Sie Cancel auf False, um die Stornierung abzulehnen — der RPC läuft weiter und sein finales CallResult oder CallError wird dennoch zurückgesendet. Typische Verwendungen sind lang laufende Abfragen, Batch-Jobs oder Hintergrund-RPCs, bei denen der Aufrufer seine Meinung geändert hat.

Beispiel


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;

Zurück zu Ereignissen