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



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

按照以下步骤操作:

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 url将类似"http://localhost:61012/api/Test/GetAll">

5-别忘了添加这个nuget包:Microsoft.AspNet.WebApi

最新更新