asp.net - 将Web API添加到现有的asp.net Web窗体应用程序

标签 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 。我按照这种方式进行,一切都变得很完美。我有一个带有示例 Controller 的有效API,可以通过从浏览器进行调用来调用该 Controller 。

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

我尝试使用在线搜索找到模板,但是发现的程序包无法正常工作,并且评级很差。

我希望我已经正确地说明了我的问题。我现在希望得到一些反馈:)谢谢。

最佳答案

在Visual Studio 2013中

  • 右键单击ASP.NET Web窗体项目。
  • 添加-> 添加脚手架项目...
  • 在“已安装/通用/ MVC / Web API”下,选择所需的支架类型
    使用。
  • 按照支架模板的说明进行操作。例如,当您选择“具有读/写操作的Web API 2 Controller ”或“Web API 2 Controller -空”时,系统将提示您输入 Controller 名称
  • 然后,您需要将最近创建的 Controller 移动到最近创建的 Controller 文件夹中。

  • 结果

    从我所看到的,Visual Studio执行以下操作:
  • App_Start / WebApiConfig2.cs ”已创建。
  • Controller 文件夹已创建。
  • Web.config 被编辑为在“system.webServer”中添加内容的“handlers”元素。
  • 添加了以下引用:
  • System.Net.Http
  • System.Net.Http.Formatting
  • System.Web.Extensions
  • System.Web.Http
  • System.Web.Http.WebHost
  • packages.config 已更新为包括:
  • “Microsoft.AspNet.WebApi”
  • “Microsoft.AspNet.WebApi.Client”
  • “Microsoft.AspNet.WebApi.Core”
  • “Microsoft.AspNet.WebApi.WebHost”

  • 注释

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

    执行以下步骤后,从Visual Studio中获取自述文件:

    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.

    1. Add the following namespace references:

      • using System.Web.Http;
      • using System.Web.Routing;
    2. If the code does not already define an Application_Start method, add the following method:

      protected void Application_Start()

      {

      }

    3. Add the following lines to the beginning of the Application_Start method:

      GlobalConfiguration.Configure(WebApiConfig2.Register);

    关于asp.net - 将Web API添加到现有的asp.net Web窗体应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20538119/

    相关文章:

    asp.net - OAuth (OAuth2) ASP.NET REST Web API (Self host - windows service) 实现

    angular - 如何将 Angular 4 Web 应用程序连接到移动摄像头?

    asp.net - 禁用没有javascript的 anchor 链接

    asp.net - 是否可以在 Linux 上托管 ASPX 网站?

    c# - 试图搭建一个 View ,我得到 "unable to retrieve Metadata for"和 'validation error' 'entity type has no key defined'

    javascript - 将 ArrayList 转换为 JavaScript 表

    c# - 通过 C# 请求数据库返回波斯语值。查询 = 像 SQL

    asp.net - 根据 DropDownList 选择验证 TextBox

    c# - ADFS 2.0 注销重定向不起作用

    asp.net - MVC4移动框架