TsgcWSPServer_WAMP › Eventos › OnBeforeCancelCall
Se activa cuando un cliente solicita cancelar una llamada RPC en curso, dando al servidor la oportunidad de aceptar o rechazar la solicitud.
property OnBeforeCancelCall: TsgcWSBeforeCancelCallEvent;
// TsgcWSBeforeCancelCallEvent = procedure(Connection: TsgcWSConnection; const CallId: string; var Cancel: Boolean) of object
—
Se dispara cuando llega un frame CALLCANCEL para una llamada CALL previamente despachada identificada por CallId. Cancel es True por defecto, lo que indica al broker que deje de entregar resultados de progreso para esa llamada y que espere un CallError terminal de la aplicación. Establezca Cancel en False para rechazar la cancelación — el RPC seguirá ejecutándose y su CallResult o CallError final seguirá enviándose. Los usos habituales son consultas de larga duración, trabajos por lotes o RPCs en segundo plano donde el llamante ha cambiado de opinión.
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;