追加したいASP.NET Web APIVisual Studio 2012 で開発された ASP.NET MVC 4 Web アプリケーション プロジェクトに。機能する Web API をプロジェクトに追加するには、どの手順を実行する必要がありますか? ApiController から派生したコントローラーが必要なことはわかっていますが、私が知っているのはそれだけです。
さらに詳しい情報を提供する必要がある場合はお知らせください。
ベストアンサー1
実行する必要があった手順は次のとおりです。
- への参照を追加します
System.Web.Http.WebHost
。 - 追加します
App_Start\WebApiConfig.cs
(以下のコード スニペットを参照)。 System.Web.Http
の名前空間をインポートしますGlobal.asax.cs
。- デフォルトの Web アプリケーション ルートを登録する前に、 (ファイル)
WebApiConfig.Register(GlobalConfiguration.Configuration)
を呼び出します。そうしないと、デフォルトの Web アプリケーション ルートが優先されます。MvcApplication.Application_Start()
Global.asax.cs
- から派生したコントローラを追加します
System.Web.Http.ApiController
。
私はそこから十分に学ぶことができたチュートリアル(最初の ASP.NET Web API) を使用して、API コントローラーを定義します。
App_Start\WebApiConfig.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 });
}
}
グローバル.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 がインストールされている必要があります。