Как получить атрибут HTTP-глагола действия с помощью рефлексии — веб-API ASP.NET

У меня есть проект веб-API ASP.NET. Используя отражение, как я могу получить атрибут глагола Http ( [HttpGet]в приведенном ниже примере), который украшает мой методы действия?

[HttpGet]
public ActionResult Index(int id) { ... }

Предположим, что у меня есть указанный выше метод действия в моем контроллере. До сих пор с помощью отражения мне удавалось получить объект MethodInfo метода действия Index, который я сохранил в переменная с именем methodInfo

Я попытался получить HTTP-глагол, используя следующее, но это не сработало - возвращает ноль:

var httpVerb = methodInfo.GetCustomAttributes(typeof (AcceptVerbsAttribute), false).Cast<AcceptVerbsAttribute>().SingleOrDefault();

Кое-что, что я заметил:

Мой пример выше взят из проекта веб-API ASP.NET. Я работаю над

Кажется, что [HttpGet]является System.Web.Http.HttpGetAttribute

, но в обычных проектах ASP.NET MVC [HttpGet]является System.Web.Mvc.HttpGetAttribute

7
задан cda01 29 May 2012 в 00:22
поделиться