コード例 #1
0
 public void Send(SampleCommandRequest request)
 {
     _bus.Publish(request, x =>
     {
         x.SetResponseAddress(_bus.Endpoint.Address.Uri);
         x.SetRequestId(Guid.NewGuid().ToString());
     });
 }
コード例 #2
0
        public async Task <IActionResult> Command(CancellationToken cancellationToken = default)
        {
            var rq = new SampleCommandRequest();

            rq.CommandInputParam = "Sample of command...";

            return(await this.Mediator(rq, cancellationToken));
        }
コード例 #3
0
        public void Send(SampleCommandRequest message)
        {
            var result = _bus.PublishRequestAsync(message, x =>
            {
                x.Handle <SampleCommandReply>(reply => Console.WriteLine("Reply Id :: {0}, Net Charges :: {1:c}", reply.Id, reply.NetCharges));
                x.HandleFault(fault => Console.WriteLine(fault.FailedMessage));
                x.SetTimeout(30.Seconds());
            });

            result.Task.Wait();
        }
コード例 #4
0
 public void Send(SampleCommandRequest request)
 {
     _bus.PublishRequest(request, x =>
     {
         x.Handle <SampleCommandReply>(reply =>
         {
             Console.WriteLine("Reply Id :: {0}, Net Charges :: {1:c}", reply.Id, reply.NetCharges);
             Console.WriteLine();
         });
         x.SetTimeout(30.Seconds());
     });
 }
コード例 #5
0
        public override async Task <SampleCommandResponse> SampleCommand(SampleCommandRequest request, ServerCallContext context)
        {
            // 보내온 요청(request)에 대한 단순한 응답(response) 예시

            // TODO: 매번 반복해야하는 userId 얻는 코드를 없앨 방법?
            var(userId, pushBackendAddress) = await Session.GetOnlineUserInfoOrThrow(context, header);

            return(new SampleCommandResponse
            {
                Result = userId,
                Value = userId.Length
            });
        }
コード例 #6
0
        public void Execute()
        {
            string serverName;

            while (UserWantsToSendMessage(out serverName))
            {
                var request = new SampleCommandRequest {
                    Id = Guid.NewGuid()
                };
                Bus.Instance.GetEndpoint(new Uri(string.Format("rabbitmq://localhost/Server/Demo.MessagingPatterns.SendOnly.{0}", serverName)))
                .Send(request);
            }

            Console.ReadLine();
        }
コード例 #7
0
        public void Execute()
        {
            while (UserWantsToSendMessage())
            {
                var request = new SampleCommandRequest {
                    Id = Guid.NewGuid()
                };
                Console.WriteLine("{0} :: Request sent with id {1}", _name, request.Id);

                IRequester requester;
                requester = new SynchronousRequester(Bus.Instance);
                //requester = new AsynchronousRequester(Bus.Instance);
                //requester = new TotallyAsynchronousRequester(Bus.Instance);
                requester.Send(request);
            }

            Console.ReadLine();
        }