だから、これは本当に私を頭痛の種にしています。
ルート:
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 エラーが表示されます。
「名前「all」に一致するコントローラー「ルックアップ」でアクションが見つかりませんでした。」
どんな助けでもいただければ幸いです
編集:だから私は最終的にそれを理解しました。それは間違った依存関係が原因でした。VS2012 はアクションを system.web.mvc.actionnameattribute に自動解決しましたが、必要なのは system.web.http.actionnameattribute でした。
とにかく奇妙な問題ですが、これが他の誰かに役立つことを願っています。