/// <summary> /// Invokes the method from the message on the handler object and sends back the return value /// </summary> public static async void HandleRequest(AppServiceRequest request, object handler, string message) { var invoker = new ChannelInvoker(handler); var result = invoker.ProcessRequest(message); await SendResponse(request, result); }
public void WaitForRegistration() { Task.Run(async() => { var reader = new StreamReader(TcpClient.GetStream()); var clientChannelProxy = new ChannelInvoker(this); var message = await reader.ReadLineAsync(); if (!clientChannelProxy.ProcessRequest(message).Invoked) { OnInvalidRequest(InvalidMessage.For(message)); } }); }
public void WaitForRegistration() { Task.Run(async() => { var reader = new StreamReader(TcpClient.GetStream()); var clientChannelProxy = new ChannelInvoker(this); string message; do { message = await reader.ReadLineAsync(); Logger.Info(message); } while (!message.ToUpper().StartsWith(nameof(RegisterAsync).ToUpper())); if (!clientChannelProxy.ProcessRequest(message).Invoked) { await OnInvalidRequest(InvalidMessage.For(message)).CastToTask(); } }); }