3

クライアント側で 404 を受信し、サーバー側System.Web.Http.HttpResponseExceptionSystem.Web.Http.dll!System.Web.Http.Dispatcher.DefaultHttpControllerSelector.SelectController(System.Net.Http.HttpRequestMessage request) + 0x33f byte. 何を試しても、ApiController の派生物がリクエストを受け取ることができませんでした。

最後に、それを通常の効果に変換しようとした後、すべてが機能するControllerように名前をAPIControllerからAPIXControllerのみに変更することにしました。

  1. API予約済みのコントローラー名はどこに記載されていますか?
  2. 予約済みコントローラー名の完全なリストはどこにありますか?
  3. クラス名として使用する際にこの制限を回避することは可能APIControllerですか?

私が最初にチェックしたことの 1 つは、沼地の標準であるルート構成でした。

routes.MapRoute(
                "Default",
                "{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
4

1 に答える 1

3

APIController は予約名ではありません。ただし、標準の MVC4 テンプレートを使用している場合、デフォルトで WebAPI スタックのインスタンスが含まれ、これにより /api で始まるルートが登録されます

あなたはおそらくそれに遭遇していました。

AppStart の下と WebApiConfig.cs ファイルを調べます。

ところで、主要なデバッグの症状は System.Web.Http にあり、それは WebApi によって使用され、MVC アプリには表示されません。

于 2013-03-07T03:05:03.250 に答える