asp.net-mvc - 如何将 Web API 添加到现有的 ASP.NET MVC 4 Web 应用程序项目?

标签 asp.net-mvc asp.net-mvc-4 asp.net-web-api visual-studio-2012

我想添加 ASP.NET Web API到在 Visual Studio 2012 中开发的 ASP.NET MVC 4 Web 应用程序项目。我必须执行哪些步骤才能将正常运行的 Web API 添加到项目?我知道我需要一个从 ApiController 派生的 Controller ,但这就是我所知道的全部。

如果我需要提供更多详细信息,请告诉我。

最佳答案

我需要执行的步骤是:

  1. 添加对 System.Web.Http.WebHost 的引用。
  2. 添加 App_Start\WebApiConfig.cs(请参阅下面的代码片段)。
  3. Global.asax.cs 中导入命名空间 System.Web.Http
  4. MvcApplication.Application_Start() 中调用 WebApiConfig.Register(GlobalConfiguration.Configuration)(在文件 Global.asax.cs 中),< em>在注册默认 Web 应用程序路由之前,否则会优先。
  5. 添加一个派生自 System.Web.Http.ApiController 的 Controller 。

然后我就可以从 the tutorial 学到足够的东西(您的第一个 ASP.NET Web API)定义我的 API Controller 。

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 });
    }
}

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 才能使上述功能正常工作。

关于asp.net-mvc - 如何将 Web API 添加到现有的 ASP.NET MVC 4 Web 应用程序项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990036/

相关文章:

asp.net - 为什么 Web API 请求的主体会被读取一次?

javascript - 如何使用 jQuery 更改 <span> 标记 </span> 之间的值?

asp.net-mvc - 如何在 LINQ 中查询列表

c# - Asp.Net MVC 5 - 自定义授权不起作用?

c# - 在同一页面中显示上传的图像 Asp MVC 4 Razor

c# - MVC 4 - Html.Partial() 显示 DIV 内的 System.Namespace 文本(出现在页面上的 html 中)

Mysql 在 IIS 应用程序上崩溃

c# - 开发 ASP.NET WEB API 服务应用程序

api - 通过Cloud Storage API查询Google Play评论

c# - 从 Web 平台安装程序安装 ASP.NET MVC 4