6

ローカルで完全に実行される ASP.NET MVC プロジェクトがあります。Controller から継承するコントローラーと、ApiController から継承するコントローラーがあります。私のルートは以下です。ローカルで Visual Studio を使用してプロジェクトを実行すると、完全に機能します。すべてのエンドポイントにヒットし、期待される応答を得ることができます。クラウド サーバー (Windows Server 2008 r2) にデプロイすると、:Controller エンドポイント (/p/{controller}/{action} にあるエンドポイント) のみが機能します。:ApiController のどのエンドポイントも機能しません。それらすべてに対して次のエラーが発生します。

{"$id":"1","Message":"No HTTP resource was found that matches the request URI 'http://DOMAIN/CONTROLLER'.","MessageDetail":"No type was found that matches the controller named 'CONTROLLER'."}

私のルート:

RouteConfig.cs で:

routes.MapRoute(
            name: "Default",
            url: "p/{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Redirect", id = UrlParameter.Optional }
        );

WebApiConfig.cs で:

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "{controller}",
        defaults: new { }
    );
4

2 に答える 2

0

There are some related questions to this previously and the answer was the same, create a new API project but the actual problem only had some possible causes, HTTP 404 Page Not Found in Web Api hosted in IIS 7.5

Be great to get a diff of the projects.

于 2013-05-11T02:33:43.820 に答える
0

コードを新しい webapi プロジェクトにコピーしたところ、動作しました。VM に依存関係がないというよりは、古いプロジェクトの何らかの構成上の問題だったに違いありませんが、本当の原因はまだわかりません。

于 2013-05-06T19:34:47.583 に答える