将Web API添加到现有的asp.net Web表单应用程序

时间:2013-12-12 08:08:36

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

我的团队想要从WCF升级到Web API。我们有一个工作的asp.net Web表单应用程序,我们已经从VS2010导入到VS2012。到现在为止还挺好。

但是现在当我尝试创建一个单独的Web API项目时,我发现没有可用的Web API模板。 我能找到的最接近的事情是创建一个MVC 4应用程序并将项目模板设置为WebAPI 。我遵循这种方式,一切都完美无缺。我有一个带有示例控制器的工作API,我可以通过从浏览器调用来调用它。

唯一的缺点是,这种特殊方法带来了自己的包袱。我创建的MVC 4项目包含JQUERY和其他库,以及一些我可能不需要的其他文件夹。我想要的只是Web API结构 - 而不是额外的行李。

我尝试使用在线搜索找到模板,但我发现的软件包无法正常运行且评级很差。 enter image description here

我希望我已正确说明了我的问题。我现在期待一些反馈:)谢谢。

2 个答案:

答案 0 :(得分:24)

在Visual Studio 2013中

  1. 右键单击ASP.NET Web窗体项目。
  2. 添加 - > 添加脚手架项目
  3. 在Installed / Common / MVC / Web API下,选择您想要的脚手架类型 使用。
  4. 按照脚手架模板的说明进行操作。例如,当您选择" Web API 2控制器时,具有读/写操作"或者" Web API 2控制器 - 清空",系统会提示您输入控制器名称
  5. 然后,您需要将最近创建的控制器移动到最近创建的控制器文件夹中。
  6. <强>结果

    从我所看到的,Visual Studio执行以下操作:

    • &#34;的 App_Start / WebApiConfig2.cs &#34;已创建。
    • 控制器文件夹已创建。
    • 编辑
    • Web.config 以添加&#34;处理程序&#34;元素包含&#34; system.webServer&#34;。
    • 添加了以下参考
      • System.Net.Http
      • System.Net.Http.Formatting
      • System.Web.Extensions程序
      • System.Web.Http
      • System.Web.Http.WebHost
    • packages.config 已更新为包含:
      • &#34; Microsoft.AspNet.WebApi&#34;
      • &#34; Microsoft.AspNet.WebApi.Client&#34;
      • &#34; Microsoft.AspNet.WebApi.Core&#34;
      • &#34; Microsoft.AspNet.WebApi.WebHost&#34;

    备注

    随后,我建议执行相同的步骤,首先右键单击Controllers文件夹而不是项目。这会将新控制器放在Controllers文件夹中而不是根级别。

    遵循以上步骤后,

    Visual Studio自述文件:

      

    Visual Studio已将ASP.NET Web API 2的完整依赖项添加到项目&#39; RowersCode.Web&#39;中。

         

    项目中的Global.asax.cs文件可能需要进行其他更改才能启用ASP.NET Web API。

         
        
    1. 添加以下命名空间引用:

           
          
      • 使用System.Web.Http;
      •   
      • 使用System.Web.Routing;
      •   
    2.   
    3. 如果代码尚未定义Application_Start方法,请添加以下方法:

           

      protected void Application_Start()

           

      {

           

      }

    4.   
    5. 将以下行添加到Application_Start方法的开头:

           

      GlobalConfiguration.Configure(WebApiConfig2.Register);

    6.   

答案 1 :(得分:0)

经过大量研究,我已经能够找到解决这个问题的方法。让我举例说明我对 Visual Studio版本的解决方案。

VS 2012

正如我在问题中提到的,在VS2012中没有明确的方法来创建Web API项目。您必须通过创建MVC 4应用程序并将项目模板设置为WebAPI 来实现。然后,一旦你完成了这个并且你的Web API功能正常,你可以安全地删除额外的行李,如Jquery库和其他东西,因为这些东西绝对没有用在你的项目中。

VS 2013

在VS2013中,添加和管理Web API项目之后会有更好的方法。目前我正在使用VS2013作为Web API,所有的东西都按照我的意愿落实到位。请看这个链接,你会得到一个更好的主意

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

我希望这些信息可以帮助所有Web API新手。特别是对于那些想要升级到Web API或将Web API添加到现有项目的人。