mvc的过滤器学习-资料查询

 

标题:Filtering in ASP.NET MVC

地址:https://docs.microsoft.com/en-us/previous-versions/aspnet/gg416513(v=vs.98)

ASP.NET MVC支持以下类型的操作过滤器:

控制器类实现每个过滤接口。您可以通过覆盖控制器的On <Filter>方法来实现特定控制器的任何过滤器。例如,您可以覆盖OnAuthorization方法。可下载示例中包含的简单控制器会覆盖每个过滤器,并在每个过滤器运行时写出诊断信息。您可以在控制器中实现以下On <Filter>方法:

ASP.NET MVC中提供的过滤器

ASP.NET MVC包括以下过滤器,这些过滤器作为属性实现。可以在操作方法,控制器或应用程序级别应用过滤器。

如何创建过滤器

您可以通过以下方式创建过滤器:

  • 覆盖一个或多个控制器的On <Filter>方法。

  • 创建一个派生自ActionFilterAttribute的属性类,并将该属性应用于控制器或操作方法。

  • 使用过滤器提供程序(FilterProviders类)注册过滤器

  • 使用GlobalFilterCollection注册全局过滤器

过滤器可以实现抽象的ActionFilterAttribute类。某些过滤器(如AuthorizeAttribute)直接实现FilterAttribute类。始终在操作方法运行之前调用授权过滤器,并在所有其他过滤器类型之前调用。其他操作过滤器(如OutputCacheAttribute)实现抽象ActionFilterAttribute类,该类允许操作过滤器在操作方法运行之前或之后运行。

您可以使用操作方法或控制器以声明方式使用filter属性。如果属性标记控制器,则操作筛选器将应用于该控制器中的所有操作方法。

以下示例显示了HomeController类的默认实现。在示例中,HandleError属性用于标记控制器。因此,过滤器适用于控制器中的所有操作方法。

 

posted on   荆棘人  阅读(160)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2018-01-11 数据结构-B+树
2018-01-11 git可视化客户端
2018-01-11 学习榜样

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示