Пример #1
0
        /// <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();
                }
            });
        }