zoukankan      html  css  js  c++  java
  • net core2.1 在过滤器中获取post的body参数

    public class OperateLogFilter : ActionFilterAttribute
        {
            private Stopwatch Stopwatch { get; set; }
    
            public override void OnActionExecuting(ActionExecutingContext context)
            {
                base.OnActionExecuting(context);
    
                Stopwatch = new Stopwatch();
                Stopwatch.Start();
            }
    
            public override void OnActionExecuted(ActionExecutedContext context)
            {
                base.OnActionExecuted(context);
                Stopwatch.Stop();
    
                string apiName = context.ActionDescriptor.DisplayName;
                double elapsed = Stopwatch.Elapsed.TotalMilliseconds;
    
                // 获取请求参数
                HttpRequest request = context.HttpContext.Request;
                //-- 由于mvc里已经读过request.Body,现在它的position在末尾
                // 允许重新读body
                request.EnableRewind();
                // 将position置到开始位置
                request.Body.Position = 0;
                // 读取body的数据流,并转为string
                var reader = new StreamReader(request.Body);
                var contentFromBody = reader.ReadToEnd();
            }
    
        }
  • 相关阅读:
    03-树2 List Leaves (25 分)
    03-树1 树的同构 (25 分)
    12宏
    11.代码测试、维护
    10代码编辑、编译、审查
    9.质量保证
    02-线性结构4 Pop Sequence (25 分)
    8程序效率
    7可测性
    Linux-文件权限管理
  • 原文地址:https://www.cnblogs.com/xtjatswc/p/13490482.html
Copyright © 2011-2022 走看看