请问asp.net core为何没法视图渲染完成前的过滤器中直接返回结果给浏览器

午後の红茶 2021-03-22 11:38:51
这样写的话会报错,在.net framework的mvc中是可以这么写的,但是在.net core中只能在视图渲染完成之后的过滤器中执行

...全文
258 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
午後の红茶 2021-03-23
  • 打赏
  • 举报
回复
同样的代码,用iis调试不会报错,但是用控制台的方式调试就会报错
一品梅 2021-03-23
  • 打赏
  • 举报
回复
提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权、响应缓存(对请求管道进行短路,以便返回缓存的响应)、 防盗链、本地化国际化等,过滤器用于横向处理业务,符合Aop思想,它也可以有效的避免代码的重复复制。   在Asp.Net Core中,有5种过滤器,分别是授权、资源、操作、结果、异常五大过滤器,与之前的Asp.Net 相比,多了一个资源过滤器,剩下的4个授权、 操作、结果、异常过滤器则没有什么太大的区别。
一品梅 2021-03-23
  • 打赏
  • 举报
回复
context.HttpContext.Response只有GET属性,不报错才怪。
午後の红茶 2021-03-23
  • 打赏
  • 举报
回复
受教了
一品梅 2021-03-23
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc;

namespace MyFilter
{
    public class MyFilterAttribute : ActionFilterAttribute
    {
        public  override void OnActionExecuted(ActionExecutedContext context)
        {
            context.Result = new JsonResult(new { name = "执行后" });
            
        }
    }
}

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧