TsgcWSPServer_WAMP › Olaylar › OnBeforeCancelCall
Bir istemci uçuş halindeki bir RPC'yi iptal etmek istediğinde tetiklenir, sunucuya isteği onaylama veya reddetme şansı verir.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
CallId ile tanımlanan, daha önce gönderilmiş bir CALL için bir CALLCANCEL çerçevesi geldiğinde tetiklenir. Cancel varsayılan olarak True değerindedir; bu, broker'a o çağrı için ilerleme sonuçları teslim etmeyi durdurmasını ve uygulamadan nihai bir CallError beklemesini söyler. İptali reddetmek için Cancel değerini False olarak ayarlayın — RPC çalışmaya devam eder ve nihai CallResult veya CallError değeri yine de geri gönderilir. Tipik kullanımlar, çağıranın fikrini değiştirdiği uzun süre çalışan sorgular, toplu işler veya arka plan RPC'leridir.
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;