public async static Task RunClient() { using (var client = new MathCommon.MathClient("127.0.0.1:6201")) { Console.WriteLine("ready to send message"); var random = new Random(); AddReq req = new AddReq { A = random.Next(1, 10000), B = random.Next(1, 10000) }; Console.WriteLine("call sever MathService.Add --> {0}+{1} ", req.A, req.B); try { var res = await client.AddAsync(req); Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, res.C); } catch (Exception ex) { Console.WriteLine("error occ {0}", ex.Message); } } Console.WriteLine("channel is closed!"); }
public override Task <AddRes> AddAsync(AddReq req) { var res = new AddRes(); res.C = req.A + req.B; return(Task.FromResult(res)); }
public override async Task <RpcResult <AddRes> > AddAsync(AddReq req) { var inner = _proxy.GetClient <MathInnerClient>(); var res = await inner.PlusAsync(req); return(res); }
public static AddRes Add(AddReq req) { Log(string.Format("Add called: {0} + {1}", req.a, req.b)); return(new AddRes() { sum = req.a + req.b }); }
public override Task <RpcResult <AddRes> > AddAsync(AddReq req) { var res = new AddRes(); res.C = req.A + req.B; return(Task.FromResult(new RpcResult <AddRes>() { Data = res })); }
public override async Task <RpcResult <AddRes> > PlusAsync(AddReq req) { //await Task.Delay(3000); string response = await _req.GetRequest(); Console.WriteLine("response:{0}", response); var res = new AddRes(); res.C = req.A + req.B; return(new RpcResult <AddRes>() { Data = res }); }
public AddRes Post([FromBody] AddReq value) { //Retorna BadRequest si la cantidad de operandos es menor a 2 if (value.Addends.Length < 1) { //throw new HttpResponseException(HttpStatusCode.BadRequest); } AddRes result = new AddRes(); result.Sum = 0; try { AddReq numbers = value; /* Realiza la suma para cada uno de los numeros dentro de la peticion, * cuando el encabezado no contiene el identificador "X-Evi-Tracking-Id" */ if (String.IsNullOrEmpty(Request.Headers["X-Evi-Tracking-Id"])) { foreach (float number in numbers.Addends) { result.Sum += number; } } /* Si el encabezado contiene el "X-Evi-Tracking-Id" se efectua la operacion * y se crea un archivo con el nombre del id del usuario y los datos de la * operacion realizada */ else { string operation = ""; foreach (float number in numbers.Addends) { result.Sum += number; operation += number + " + "; } LogJournal logJournal = new LogJournal(Request.Headers["X-Evi-Tracking-Id"]); logJournal.Add("{" + "\"" + "Operation" + "\"" + ": " + "\"" + "Sum" + "\"" + ", " + "\"" + "Calculation" + "\"" + ": " + "\"" + operation.Substring(0, operation.Length - 3) + " = " + result.Sum + "\"" + ", " + "\"" + "Date" + "\"" + ": " + "\"" + DateTime.Now.ToString("u") + "\"" + "}"); } } catch (Exception ex) { Log log = new Log(); log.Add("Error en AddController.cs " + ex.Message); } return(result); }
public async static Task RunClient() { var proxy = new ClientProxyBuilder().UseServer("127.0.0.1:6201") .ConfigureServices(services => { services.AddSingleton <IProtobufObjectFactory, ProtobufObjectFactory>(); services.AddSingleton <IAuditLoggerFormat <AmpMessage>, AuditLoggerFormat>(); }) .ConfigureLoggingServices(logger => logger.AddSerilog(dispose: true)) .BuildDefault(); using (var client = proxy.GetClient <MathCommon.MathClient>()) { Console.WriteLine("ready to send message"); var random = new Random(); var i = 0; while (i < 10) { AddReq req = new AddReq { A = random.Next(1, 10000), B = random.Next(1, 10000) }; Console.WriteLine("call sever MathService.Add --> {0}+{1} ", req.A, req.B); try { var res = await client.AddAsync(req); Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, res.Data?.C); } catch (Exception ex) { Console.WriteLine("error occ {0}", ex.Message); } i++; } } Console.WriteLine("Press any key to quit!"); Console.ReadKey(); }
static void Main(string[] args) { new ClientProxyBuilder().UseServer("127.0.0.1:6201").BuildDefault(); using (var caller = DotBPE.Rpc.Environment.ServiceProvider.GetService <ICallInvoker <AmpMessage> >()) { Console.WriteLine("ready to send message"); ushort serviceId = 10001; // 10001 = MathService ,1 = ADd AmpMessage reqMsg = AmpMessage.CreateRequestMessage(serviceId, 1); var random = new Random(); AddReq req = new AddReq(); req.A = random.Next(1, 10000); req.B = random.Next(1, 10000); var reqJson = Jil.JSON.Serialize(req); reqMsg.Data = Encoding.UTF8.GetBytes(reqJson); Console.WriteLine("call sever MathService.Add --> {0}+{1} ", req.A, req.B); try { var res = caller.BlockingCall(reqMsg); if (res.Code == 0) { string jsonRes = Encoding.UTF8.GetString(res.Data); var addRes = Jil.JSON.Deserialize <AddRes>(jsonRes); Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, addRes.C); } else { Console.WriteLine("server error,code={0}", res.Code); } } catch (Exception ex) { Console.WriteLine("error occ {0}", ex.Message); } } Console.WriteLine("channel is closed!"); }
static void Main(string[] args) { //DotBPE.Rpc.Environment.SetLogger(new DotBPE.Rpc.Logging.ConsoleLogger()); using (var caller = new AmpCallInvoker("127.0.0.1:6201")) { Console.WriteLine("ready to send message"); ushort serviceId = 10002; // 10001 = MathService ,1 = ADd AmpMessage reqMsg = AmpMessage.CreateRequestMessage(serviceId, 1); var random = new Random(); AddReq req = new AddReq(); req.A = random.Next(1, 10000); req.B = random.Next(1, 10000); reqMsg.Data = req.ToByteArray(); Console.WriteLine("call sever MathService.Add --> {0}+{1} ", req.A, req.B); try { var res = caller.BlockingCall(reqMsg); if (res.Code == 0) { var addRes = AddRes.Parser.ParseFrom(res.Data); Console.WriteLine("server repsonse:<-----{0}+{1}={2}", req.A, req.B, addRes.C); } else { Console.WriteLine("server error,code={0}", res.Code); } } catch (Exception ex) { Console.WriteLine("error occ {0}", ex.Message); } } Console.WriteLine("channel is closed!"); }
public Task <AmpMessage> AddAsync(AmpMessage reqMsg) { var rsp = AmpMessage.CreateResponseMessage(reqMsg.ServiceId, reqMsg.MessageId); AddReq req = MessagePackSerializer.Deserialize <AddReq>(reqMsg.Data); if (req != null) { var res = new AddRes(); res.C = req.A + req.B; rsp.Data = MessagePackSerializer.Serialize(res); Logger.Debug("{0}${1}${2} ,code=0 ,req={3} ,res={4}", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, MessagePackSerializer.ToJson(req), MessagePackSerializer.ToJson(res)); } else { rsp.Code = ErrorCodes.CODE_INTERNAL_ERROR; Logger.Error("{0}${1}${2} ,code={3} ,req={4} ,res=null", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, rsp.Code, MessagePackSerializer.ToJson(req)); } return(Task.FromResult(rsp)); }
public Task <AmpMessage> AddAsync(AmpMessage reqMsg) { var rsp = AmpMessage.CreateResponseMessage(reqMsg.ServiceId, reqMsg.MessageId); AddReq req = AddReq.Parser.ParseFrom(reqMsg.Data); if (req != null) { var res = new AddRes(); res.C = req.A + req.B; rsp.Data = res.ToByteArray(); Logger.Debug("{0}${1}${2} ,code=0 ,req={3} ,res={4}", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, req.ToString(), res.ToString()); } else { rsp.Code = ErrorCodes.CODE_INTERNAL_ERROR; Logger.Error("{0}${1}${2} ,code={3} ,req={4} ,res=null", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, rsp.Code, req.ToString()); } return(Task.FromResult(rsp)); }
public Task <AmpMessage> AddAsync(AmpMessage reqMsg) { var rsp = AmpMessage.CreateResponseMessage(reqMsg.ServiceId, reqMsg.MessageId); var json = Encoding.UTF8.GetString(reqMsg.Data); AddReq req = JSON.Deserialize <AddReq>(json); if (req != null) { var res = new AddRes(); res.C = req.A + req.B; var resJson = JSON.Serialize(res); rsp.Data = Encoding.UTF8.GetBytes(resJson); Logger.Debug("{0}${1}${2} ,code=0 ,req={3} ,res={4}", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, json, resJson); } else { rsp.Code = ErrorCodes.CODE_INTERNAL_ERROR; Logger.Error("{0}${1}${2} ,code={3} ,req={4} ,res=null", reqMsg.ServiceId, reqMsg.MessageId, reqMsg.Sequence, rsp.Code, json); } return(Task.FromResult(rsp)); }
public void SendAddReq(AddReq addReq) { byte[] b = new byte[addReq.Size()]; addReq.Marshal(b, 0); client.Send((byte)ServiceID.ServiceID_Module1, (byte)MessageID.MsgID_Add, b); }