gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 如何知道一个方法是一个 Action 方法?

转载 作者:行者123 更新时间:2023-12-04 07:14:33 25 4
gpt4 key购买 nike

我正在尝试编写一个单元测试,它将遍历我的 Controller 类上的所有操作方法,以查找它们上没有一些与安全相关的属性的操作方法(例如 [Authorize])。

ASP.NET 路由引擎如何确定哪些方法是操作方法?显然 Action 方法必须是公共(public)的,但是像 ToString() 这样的方法不是 Action 方法,所以这有一些逻辑。

最佳答案

Controller 中的所有方法都被视为操作,非公共(public)方法除外。

首先,方法按名称匹配:MethodName = ActionName。

如果要覆盖默认行为,请使用 [ActionName] 属性。

public MyController
{
[ActionName("ActionY")]
public MethodX ()
{
}
}

那么这个方法会在一个 http://..../ActionY 时触发。请求网址。

在 Phil 的博客中阅读更多内容: How a Method Becomes An Action

编辑:好的,也许这个:直接在 Controller 类中定义的所有公共(public)方法,不从基类继承,不覆盖基类中的那些,除非您递归地将这些基方法标识为操作,而不是用 NoAction 属性修饰。

关于asp.net-mvc - ASP.NET MVC 如何知道一个方法是一个 Action 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087131/

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