我有一個ASP.NET Web API項目。使用反射,我怎樣才能得到裝飾我的動作方法的Http動詞(下面例子中的[HttpGet]
)屬性?如何獲取使用反射的動作的http動詞屬性 - ASP.NET Web API
[HttpGet]
public ActionResult Index(int id) { ... }
假設我在我的控制器中有上述操作方法。到目前爲止,通過使用反射我已經能夠得到,我有存儲在一個名爲變量Index
操作方法的MethodInfo對象methodInfo
我嘗試使用以下命令獲取HTTP動詞,但它沒有工作 - 回報空:
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
謝謝@Elie,但是,您的解決方案僅適用於ASP.NET MVC應用程序,但不適用於ASP.NET Web API應用程序。在一個WEB API項目中,http動詞--HttpGet與MVC項目中的HttpGet不同。 – cda01