在同一项目中添加ASP.NET MVC和Web API Web应用程序

时间:2019-10-06 13:11:15

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

我想创建.net mvc项目,但我也想添加wep api 在同一项目中,我是否需要用于api的控制器和用于普通.net mvc的控制器? 我已经在Google中搜索过,但没有找到有用的解决方案, 任何答案肯定会帮助我 非常感谢。

1 个答案:

答案 0 :(得分:1)

请按照以下步骤操作:

1-在App_Start文件夹中添加webapiconfig.cs文件

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

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

    }
}

2-在Global.ascs.cs文件中,添加注释中提到的新行。您的Application_Start函数应如下所示。

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);//new line for webapi
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }

3-现在添加一个新的apicontroller,如下所示。

public class TestController : ApiController
{
    public IHttpActionResult GetAll()
    {
        return Json("test");
    }
}

4- Api网址将类似于“ http://localhost:61012/api/Test/GetAll

5-不要忘记添加此nuget包:Microsoft.AspNet.WebApi