gpt4 book ai didi

c# - ASP.NET MVC : Execute code on all Actions (global OnActionExecuting? )

转载 作者:太空狗 更新时间:2023-10-29 20:52:28 25 4
gpt4 key购买 nike

是否有一个“全局”OnActionExecuting,我可以重写它让所有我的 MVC Action (不管 Controller )在被调用时做些什么?如果是,怎么办?

最佳答案

Asp.net MVC3 添加了对 Global Filters 的支持

来自 ScottGu 博客:

ASP.NET MVC 支持使用称为“过滤器”的机制以声明方式应用“横切”逻辑的能力。您现在可以使用如下属性语法在 Controller 和操作方法上指定过滤器:

image

开发人员通常希望在应用程序中的所有 Controller 上应用一些过滤器逻辑。 ASP.NET MVC 3 现在允许您指定过滤器应全局应用于应用程序中的所有 Controller 。您现在可以通过将其添加到 GlobalFilters 集合来执行此操作。 RegisterGlobalFilters() 方法现在包含在默认的 Global.asax 类模板中,以提供一个方便的地方来执行此操作(然后由 Application_Start() 方法调用) :

image

MVC 3 中的过滤器解析逻辑非常灵活,因此您可以配置一个全局过滤器,该过滤器仅在满足某些条件时才有条件地应用(例如:启用调试,或者如果请求使用特定的 http 动词等)。现在也可以从依赖注入(inject) (DI) 容器解析过滤器。

关于c# - ASP.NET MVC : Execute code on all Actions (global OnActionExecuting? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com