TsgcWSPServer_WAMP › Events › OnBeforeCancelCall
Wordt geactiveerd wanneer een client vraagt een lopende RPC te annuleren, waardoor de server de kans krijgt het verzoek te honoreren of te weigeren.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
Wordt geactiveerd wanneer een CALLCANCEL-frame arriveert voor een eerder verzonden CALL geïdentificeerd door CallId. Cancel is standaard True, wat de broker vertelt te stoppen met het leveren van voortgangsresultaten voor die aanroep en een terminal CallError van de toepassing te verwachten. Stel Cancel in op False om de annulering te weigeren — de RPC blijft actief en het uiteindelijke CallResult of CallError wordt toch teruggestuurd. Typische toepassingen zijn langlopende query's, batchjobs of achtergrond-RPC's waarbij de aanroeper van gedachten is veranderd.
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;