但是现在,当我尝试制作一个单独的Web API项目时,我看到没有可用的Web API模板.我最能找到的是通过创建一个MVC 4应用程序并将项目模板设置为WebAPI.我按照这种方式,一切都完美.我有一个工作API与一个示例控制器,我可以通过从浏览器调用来调用.
唯一的缺点是,这种特殊的方法带来了自己的行李.我创建的MVC 4项目包含JQUERY和其他库,以及我可能不需要的其他一些文件夹.我想要的只是Web API结构,而不是额外的行李.
我尝试使用在线搜索找到一个模板,但是我发现这个包不能正常工作,评分很差.
我希望我已经正确地说明了我的问题.我期待一些反馈现在:)谢谢.
解决方法
>右键单击ASP.NET Web窗体项目.@H_403_15@>添加 – >添加脚手架物品…@H_403_15@>在Installed / Common / MVC / Web API下选择所需的脚手架类型@H_403_15@使用.@H_403_15@>按照脚手架模板的说明进行操作.例如,当您选择“具有读/写操作的Web API 2控制器”或“Web API 2控制器 – 空”时,将提示您输入控制器名称@H_403_15@>然后,您需要将最近创建的控制器移动到最近创建的Controllers文件夹中.
结果
从我可以看到,Visual Studio执行以下操作:
>“App_Start / WebApiConfig2.cs”被创建.@H_403_15@>控制器文件夹被创建.@H_403_15@>编辑Web.config以在“system.webServer”中添加包含内容的“handlers”元素.@H_403_15@>添加以下引用:
> System.Net.Http@H_403_15@> System.Net.Http.Formatting@H_403_15@> System.Web.Extensions@H_403_15@> System.Web.Http@H_403_15@> System.Web.Http.WebHost
> packages.config更新为包括:
>“Microsoft.AspNet.WebApi”@H_403_15@>“Microsoft.AspNet.WebApi.Client”@H_403_15@>“Microsoft.AspNet.WebApi.Core”@H_403_15@>“Microsoft.AspNet.WebApi.WebHost”
笔记
随后,我建议按照相同的步骤,从右键单击Controllers文件夹而不是项目.这将把新控制器放在“控制器”文件夹中,而不是根级别.
Visual Studio has added the full set of dependencies for ASP.NET Web API 2 to project ‘RowersCode.Web’.
The Global.asax.cs file in the project may require additional changes to enable ASP.NET Web API.
Add the following namespace references:
- using System.Web.Http;
- using System.Web.Routing;
If the code does not already define an Application_Start method,add the following method:
protected void Application_Start()
{
}
Add the following lines to the beginning of the Application_Start method:
GlobalConfiguration.Configure(WebApiConfig2.Register);