public async Task <object> InvokeAsync(string destination, string operation, params object[] arguments) { _extensionManager.FireRemoteProcedureCallEvent(new RemoteProcedureCallEventArgs(destination, operation, arguments, true)); try { var result = await _proxy.InvokeAsync(destination, operation, arguments); _extensionManager.FireAcknowledgeMessageReceivedEvent(new RemoteProcedureCallResponseEventArgs(destination, operation, arguments, result, true)); return(result); } catch (AggregateException ex) when(ex.InnerException is InvocationException) { _extensionManager.FireErrorMessageReceivedEvent(new RemoteProcedureCallResponseEventArgs(destination, operation, arguments, ex.InnerException, true)); throw ex.InnerException; } }
public async Task <object> InvokeAsync(string destination, string operation, params object[] arguments) { return(await _proxy.InvokeAsync(destination, operation, arguments)); }