static void Main(string[] args) { Console.WriteLine("SubQueueWithReply start"); IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue(); int counter = 1; var s = c.Subscribe("foo.chanel", c.ConnectionOption.StanSubscriptionOptions, (obj, arg) => { QuantMessage m = arg.Message.Data.DeserializeMsg <QuantMessage>(); var a = m.GetData <MyMsg>(); Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data)); }); QuantMessage roseModel = new QuantMessage().Init(Guid.NewGuid(), "SubQueueWithRep", "PubReply", "200000"); while (true) { Console.WriteLine("Enter message"); MyMsg model = new MyMsg { Id = counter++, Name = Console.ReadLine() }; roseModel.AddOrUpdateData(model); c.Publish("foo.chanel.rep", roseModel); } }
static void Main(string[] args) { Console.WriteLine("SubQueue start"); IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue(); var s = c.SubscribeQueue("foo.chanel", (obj, arg) => { QuantMessage m = arg.Message.Data.DeserializeMsg <QuantMessage>(); var a = m.GetData <MyMsg>(); Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data)); }); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("PubDurableWithAwait start"); IQuantObserver <QuantMessage> c = new QuantClient().RouteQueue(); QuantMessage m; var s = c.Subscribe("foo.chanel.rep.await", c.ConnectionOption.StanSubscriptionOptions, (obj, arg) => { m = arg.Message.Data.DeserializeMsg <QuantMessage>(); var a = m.GetData <MyMsg>("MyMsg"); m.AddOrUpdateCorrelation($"SYSTEM_N_100", "9003399"); c.PublishAwait("foo.chanel.await", m); c.Publish("foo.chanel.rep", m); Console.WriteLine("Received a message as data: {0}", System.Text.Encoding.UTF8.GetString(arg.Message.Data)); }); }