加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – IActionFilter vs IResultFilter

发布时间:2020-12-16 06:27:42 所属栏目:asp.Net 来源:网络整理
导读:请解释IActionFilter和IResultFilter之间的区别.我知道OnActionExecuting在一个action方法执行之前发生,并且OnActionExecuted在一个action方法执行之后发生,并且进一步说明了对一个action方法的执行意味着什么.在IResultFilter的上下文中,我不理解的是执行操
请解释IActionFilter和IResultFilter之间的区别.我知道OnActionExecuting在一个action方法执行之前发生,并且OnActionExecuted在一个action方法执行之后发生,并且进一步说明了对一个action方法的执行意味着什么.在IResultFilter的上下文中,我不理解的是执行操作结果的含义.

解决方法

操作过滤器包含在执行控制器操作之前和之后执行的逻辑.例如,您可以使用操作过滤器来修改控制器操作返回的视图数据.

结果过滤器(或IResultFilters)包含在执行视图结果之前和之后执行的逻辑.例如,您可能希望在将视图呈现给浏览器之前修改视图结果.

阅读Understanding Action Filters.

要澄清ViewResult的作用,请查看ViewResultBase执行:

viewEngineResult = this.FindView(context);
      this.View = viewEngineResult.View;

      TextWriter output = context.HttpContext.Response.Output;
      this.View.Render(new ViewContext(context,this.View,this.ViewData,this.TempData,output),output);

您将看到它首先找到视图,然后将视图呈现给Response输出流.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读