コード例 #1
0
 protected override Task DoHandleResultAsync(GrpcContext context)
 {
     return(Task.Run(() =>
     {
         AddGrpcRecord(context);
     }));
 }
コード例 #2
0
 protected override Task DoHandleAsync(GrpcContext context)
 {
     return(Task.Run(() =>
     {
         context.StartMonitor();
         _logger.Info($"Receive the msg, msg type is: {context.Message.GetType().FullName}, data: {_jsonSerializer.Serialize(context.Message)}");
     }));
 }
コード例 #3
0
        protected override void DoHandle(GrpcContext context)
        {
            switch (context.Message.GetMessageExecutingType())
            {
            case MessageExecutingType.Command: HandleCommand(context).Wait(); return;

            case MessageExecutingType.Query: HandleQuery(context).Wait(); return;
            }
        }
コード例 #4
0
 public virtual void Handle(GrpcContext context)
 {
     DoHandle(context);
     if (!context.HasDone)
     {
         _next(context);
     }
     DoHandleResult(context);
 }
コード例 #5
0
        protected override async Task DoHandleAsync(GrpcContext context)
        {
            switch (context.Message.GetMessageExecutingType())
            {
            case MessageExecutingType.Command: await HandleCommandAsync(context); return;

            case MessageExecutingType.Query: await HandleQueryAsync(context); return;
            }
        }
コード例 #6
0
        public virtual async Task HandleAsync(GrpcContext context)
        {
            await DoHandleAsync(context);

            if (!context.HasDone)
            {
                await _next(context);
            }
            await DoHandleResultAsync(context);
        }
コード例 #7
0
        private void AddGrpcRecord(GrpcContext context)
        {
            context.StopMonitor();
            var loggerData = new ArrayList();

            loggerData.Add(context.CallContext.Method);
            loggerData.Add($"{context.PerformanceInfo.UsedTime} ms");
            loggerData.Add(context.Result.Status);
            loggerData.Add(context.CallContext.Peer);
            loggerData.Add(context.Message);
            loggerData.Add(context.Result);
            _grpcLogger.Info("msg: " + context.Result.Message + ", template: The msg({@interface_name}) used time: {@elapsed_time} ms, result status: {@status}, source ip: {@source_ip}, request data: {@request_content}, response data: {@response_content}.", null, loggerData.ToArray());
        }
コード例 #8
0
        private async Task HandleQuery(GrpcContext context)
        {
            context.Result = await Task.Run(() => { return(_queryDelegateFactory.GetHandleDelegate <BaseMessage, MessageResult>(context.Message)(context.Message)); });

            context.HasDone = true;
        }
コード例 #9
0
        private async Task HandleCommand(GrpcContext context)
        {
            context.Result = await _commandHandler.HandleAsync <BaseMessage, MessageResult>(context.Message);

            context.HasDone = true;
        }
コード例 #10
0
 protected override void DoHandleResult(GrpcContext context)
 {
     AddGrpcRecord(context);
 }
コード例 #11
0
 protected override void DoHandle(GrpcContext context)
 {
     context.StartMonitor();
     _logger.Info($"Receive the msg, msg type is: {context.Message.GetType().FullName}, data: {_jsonSerializer.Serialize(context.Message)}");
 }
コード例 #12
0
        private async Task HandleQueryAsync(GrpcContext context)
        {
            context.Result = await _queryDelegateFactory.GetHandleDelegateAsync <BaseMessage, MessageResult>(context.Message)(context.Message);

            context.HasDone = true;
        }
コード例 #13
0
 protected virtual Task DoHandleResultAsync(GrpcContext context)
 {
     return(Task.CompletedTask);
 }
コード例 #14
0
 protected abstract Task DoHandleAsync(GrpcContext context);
コード例 #15
0
 protected virtual void DoHandleResult(GrpcContext context)
 {
 }
コード例 #16
0
 protected abstract void DoHandle(GrpcContext context);