TsgcWSPServer_WAMP › Ereignisse › OnBeforeCancelCall
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.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
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.
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;