1. ホーム
  2. asp.net-mvc

[解決済み] 既存のASP.NET MVC 4 WebアプリケーションのプロジェクトにWeb APIを追加するにはどうすればよいですか?

2022-03-14 13:40:43

質問

を追加したいのですが ASP.NET Web API Visual Studio 2012 で開発された ASP.NET MVC 4 Web アプリケーションプロジェクトに追加しました。プロジェクトに機能するWeb APIを追加するには、どの手順を実行する必要がありますか?私はApiControllerから派生したコントローラが必要であることを認識していますが、それは私が知っているすべてです。

もっと詳しく説明する必要があれば教えてください。

解決方法は?

必要な手順は、以下の通りでした。

  1. への参照を追加します。 System.Web.Http.WebHost .
  2. 追加 App_Start\WebApiConfig.cs (下記のコードスニペットを参照)。
  3. ネームスペースのインポート System.Web.HttpGlobal.asax.cs .
  4. コール WebApiConfig.Register(GlobalConfiguration.Configuration)MvcApplication.Application_Start() (ファイル内 Global.asax.cs ), 以前 は、デフォルトの Web Application ルートを登録します。
  5. から派生したコントローラを追加します。 System.Web.Http.ApiController .

それから、私は十分に学ぶことができました。 チュートリアル (Your First ASP.NET Web API)を使って、APIコントローラを定義することができます。

App_StartWebApiConfig.cs:

using System.Web.Http;

class WebApiConfig
{
    public static void Register(HttpConfiguration configuration)
    {
        configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
            new { id = RouteParameter.Optional });
    }
}

Global.asax.cs。

using System.Web.Http;

...

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    RegisterGlobalFilters(GlobalFilters.Filters);
    WebApiConfig.Register(GlobalConfiguration.Configuration);
    RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

2015.10.16のアップデート

Wordによると、上記を動作させるにはNuGetパッケージのMicrosoft.AspNet.WebApiがインストールされている必要があります。