我有一个 ASP.NET Web API 项目。使用反射,如何获得[HttpGet]
装饰我的操作方法的 Http 动词(在下面的示例中)属性?
[HttpGet]
public ActionResult Index(int id) { ... }
假设我的控制器中有上述操作方法。到目前为止,通过使用反射,我已经能够获得Index
我存储在一个名为的变量中的操作方法的 MethodInfo 对象methodInfo
我尝试使用以下方法获取 http 动词,但它不起作用 - 返回 null:
var httpVerb = methodInfo.GetCustomAttributes(typeof (AcceptVerbsAttribute), false).Cast<AcceptVerbsAttribute>().SingleOrDefault();
我注意到的一件事:
我上面的示例来自我正在处理的 ASP.NET Web API 项目。
似乎[HttpGet]
是一个 System.Web.Http.HttpGetAttribute
但在常规 ASP.NET MVC 项目中,[HttpGet]
它是 System.Web.Mvc.HttpGetAttribute