public void Send(SampleCommandRequest request) { _bus.Publish(request, x => { x.SetResponseAddress(_bus.Endpoint.Address.Uri); x.SetRequestId(Guid.NewGuid().ToString()); }); }
public async Task <IActionResult> Command(CancellationToken cancellationToken = default) { var rq = new SampleCommandRequest(); rq.CommandInputParam = "Sample of command..."; return(await this.Mediator(rq, cancellationToken)); }
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(); }
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()); }); }
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 }); }
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(); }
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(); }