예제 #1
0
        public override Task <BrokerReply> Invoke(BrokerRequest request, ServerCallContext context)
        {
            return(Task.Run(() =>
            {
                BrokerReply reply = new BrokerReply();
                var input = new Dictionary <string, string>(request.Input);

                BaseAdapter adapter;
                string rlt;
                try
                {
                    if (input.ContainsKey(StorageCommand.COMMAND) && _adapters.TryGetValue(input[StorageCommand.COMMAND], out adapter))
                    {
                        rlt = adapter.Invoke(input);
                    }
                    else
                    {
                        rlt = FailMessage("未知指令,参考[Anno.Rpc.Storage.StorageCommand]下指令。");
                    }
                }
                catch (Exception ex)
                {
                    rlt = FailMessage(ex.Message);
                }
                reply.Reply = rlt;
                return reply;
            }));
        }
예제 #2
0
        public override Task <BrokerReply> Invoke(BrokerRequest request, ServerCallContext context)
        {
            return(Task.Run(() =>
            {
                BrokerReply reply = new BrokerReply();
                var input = new Dictionary <string, string>(request.Input);

                try
                {
                    if (input.ContainsKey("KV"))
                    {
                        reply.Reply = new Storage.KvStorage().Invoke(input);
                    }
                    else
                    {
                        reply.Reply = new Storage.AnnoStorage().Invoke(input);
                    }
                }
                catch (Exception ex)
                {
                    reply.Reply = Newtonsoft.Json.JsonConvert.SerializeObject(new Storage.AnnoDataResult()
                    {
                        Status = false, Msg = ex.Message
                    });
                }
                return reply;
            }));
        }
예제 #3
0
        public override Task <BrokerReply> Add_broker(Micro request, ServerCallContext context)
        {
            BrokerReply  reply = new BrokerReply();
            ThriftConfig tc    = ThriftConfig.CreateInstance();

            tc.Add(request);
            reply.Reply = "1";
            return(Task.FromResult(reply));
        }
예제 #4
0
 public override Task <BrokerReply> broker(BrokerRequest request, ServerCallContext context)
 {
     return(Task.Run(() => {
         BrokerReply reply = new BrokerReply();
         ActionResult actionResult = null;
         try
         {
             Dictionary <string, string> input = new Dictionary <string, string>(request.Input);
             actionResult = Engine.Transmit(input);
         }
         catch (Exception ex)
         { //记录异常日志
             actionResult = new ActionResult
             {
                 Msg = ex.InnerException.Message
             };
         }
         reply.Reply = JsonConvert.SerializeObject(actionResult);
         return reply;
     }));
 }
예제 #5
0
        public override Task <BrokerReply> Invoke(BrokerRequest request, ServerCallContext context)
        {
            return(Task.Run(() =>
            {
                BrokerReply reply = new BrokerReply();
                var input = new Dictionary <string, string>(request.Input);

                BaseAdapter adapter;
                string rlt;
                try
                {
                    if (input.ContainsKey(StorageCommand.COMMAND))
                    {
                        var command = input[StorageCommand.COMMAND];
                        switch (command)
                        {
                        case StorageCommand.KVCOMMAND:
                            adapter = new KvStorageAdapter();
                            break;

                        default:
                            adapter = new ApiDocStorageAdapter();
                            break;
                        }
                        rlt = adapter.Invoke(input);
                    }
                    else
                    {
                        rlt = FailMessage("未知指令,参考[Anno.Rpc.Storage.StorageCommand]下指令。");
                    }
                }
                catch (Exception ex)
                {
                    rlt = FailMessage(ex.Message);
                }
                reply.Reply = rlt;
                return reply;
            }));
        }