0

MVC プロジェクトに Web API コントローラーを追加しようとしています。これは、MVC4 にアップグレードした MVC 3 プロジェクトです。「テスト」シンプルなAPIコントローラーを機能させようとしていますが、現在404を取得しています。これが私がやったことです:

必要なパッケージをすべて追加しました。グローバル Application_Start() に webapi 構成を追加しました。

RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
WebApiConfig.Register(GlobalConfiguration.Configuration);  // Web API

次に、静的 Register メソッドを呼び出します。

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

Web アプリで定義された ApiController があります。

 public class SitechangesController : ApiController
    { 
        /// GET api/default1
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

最後に、すべてをビルドして localhost で自分のサイトを参照するとhttp://localhost/api/Sitechanges、404 が返されます。

ファイル/新しいプロジェクトを実行して、Web API プロジェクトをゼロから作成すると、これらの問題は発生しません。誰でも助けることができますか?

ありがとう

マット

4

2 に答える 2

0

「通常の」ルートで修正される前に、Web API 構成を追加しているようです。

WebApiConfig.Register(GlobalConfiguration.Configuration); // Moved to the top
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
于 2013-03-08T12:38:30.363 に答える