asp.net webapi2属性ルーティングが機能しない



Asp Net Webapi 2 Attribute Routing Not Working



解決:

あなたの情報に基づいて、あなたは電話していないようですhttpConfig.MapHttpAttributeRoutes()(必ずこれを呼び出してください 従来のルーティング登録)

MapHttpAttributeRoutesを呼び出していないため、リクエストは従来のルートと一致しているようです。api / {コントローラー}。従来のルートに一致するルートには、属性ルートで装飾されたコントローラー/アクションが表示されないため、これは機能しません。




私が遭遇した問題は、Application_Start()での順序付けに関連していました。以下のWebAPI構成の順序に注意してください。

これは動作しません



protected void Application_Start(){AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); GlobalConfiguration.Configure(WebApiConfig.Register); }

これは機能します

protected void Application_Start(){AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } 

私もこの問題を抱えていました、そして長い検索の後に私は私が使っていたことに気づきました代わりにSystem.Web.Mvc.RouteAttributeSystem.Web.Http.RouteAttributeこれを修正して使用した後config.MapHttpAttributeRoutes()すべてが正常に機能しました。