【问题标题】:Include Web API in existing Asp.Net MVC project在现有的 Asp.Net MVC 项目中包含 Web API
【发布时间】:2017-09-26 19:23:52
【问题描述】:

我正在开发一个带有 asp.net mvc 架构的项目。我想用 asp.net web api 添加服务。如何将其合并到现有项目中?

【问题讨论】:

标签: asp.net asp.net-mvc-4 asp.net-web-api


【解决方案1】:

对于 ASP.NET MVC 4,最简单的方法是在 Visual Studio 2015 中创建一个新的 Web API 项目,并查看该项目是如何设置的。

基本上,您只需要从今天开始添加以下包,以及以下代码 -

Install-Package Microsoft.AspNet.WebApi
Install-Package Microsoft.AspNet.WebApi.Client
Install-Package Microsoft.AspNet.WebApi.Core
Install-Package Microsoft.AspNet.WebApi.WebHost

Global.asax.cs

public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        ...
        GlobalConfiguration.Configure(WebApiConfig.Register);
        ...
    }
}

App_Start/WebApiConfig.cs

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

测试

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

【讨论】:

  • 除此之外,重要的是放置 GlobalConfiguration.Configure(WebApiConfig.Register);在RouteConfig.RegisterRoutes(RouteTable.Routes);之前,否则调用api时会返回404
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 2019-01-27
  • 2015-07-12
  • 2020-12-22
相关资源
最近更新 更多