Так что это действительно вызывает у меня головную боль.
Маршрут:
config.routes.MapHttpRoute(
name: 'ControllerAction' ,
routeTemplate: "api/{controller}/{action}"
);
Контроллер:
public class LookupsController : ApiControllerBase
{
[ActionName("all")]
public Lookups GetLookups()
{
var lookups = new Lookups
{
Customers = GetCustomers().ToList(),
//add more
};
return lookups;
}
}
но всякий раз, когда я пытаюсь нажать uri: /api/lookups/all, я получаю сообщение об ошибке 404:
«В контроллере «Поиски» не найдено действие, соответствующее имени «все».
Любая помощь будет оценена
РЕДАКТИРОВАТЬ: Итак, я понял это, наконец. это было из-за неправильной зависимости. VS2012 автоматически разрешил действие в атрибуте system.web.mvc.actionname, тогда как мне был нужен атрибут system.web.http.actionname.
странная проблема, в любом случае, я надеюсь, что это поможет кому-то еще.