TsgcWSPServer_WAMP › Events › OnBeforeCancelCall
Wywoływane, gdy klient prosi o anulowanie trwającego wywołania RPC, dając serwerowi szansę na spełnienie lub odrzucenie żądania.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
Wywoływane po nadejściu ramki CALLCANCEL dla wcześniej wysłanego wywołania CALL identyfikowanego przez CallId. Wartość Cancel jest domyślnie ustawiona na True, co informuje brokera o konieczności zaprzestania dostarczania wyników pośrednich dla danego wywołania i oczekiwania na końcowy komunikat CallError od aplikacji. Ustawienie wartości Cancel na False powoduje odrzucenie anulowania. Wywołanie RPC będzie kontynuowane, a jego końcowy CallResult lub CallError zostanie mimo to odesłany. Typowe zastosowania obejmują długo trwające zapytania, zadania wsadowe lub wywołania RPC w tle, gdy wywołujący zmienił zdanie.
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;