asp.net core过滤器记录响应对象

百度到的基本上就是读取response.body的流。然后记录完了之后,把流的index重新复位,这样也太麻烦了。


其实asp.net core团队肯定已经考虑到了这种需求,比如记录请求响应日志。给响应数据过滤这类的。

在OnActionExecuted的ActionExecutedContext里面有个result。在调试模式下,就可以看到这个Result随着响应对象的不一致,是不同的对象

if (context.Result is JsonResult)
                {
                    var value = ((JsonResult)context.Result).Value;
                }
                if (context.Result is ObjectResult)
                {
                    var value = ((ObjectResult)context.Result).Value;
                }

可以直接获取自己需要的返回对象,然后做处理就ok了。

原文地址:https://www.cnblogs.com/qingchengcoding/p/10878680.html