Asp.net

將 Web API 添加到現有的 asp.net Web 表單應用程序

  • December 12, 2013

我的團隊想要從 WCF 升級到 Web API。我們有一個工作的 asp.net 網路表單應用程序,我們已經從 VS2010 導入到 VS2012。到目前為止,一切都很好。

但是現在當我嘗試創建一個單獨的 Web API 項目時,我發現沒有可用的 Web API 模板。我能找到的最接近的方法是創建一個 MVC 4 應用程序並將項目模板設置為 WebAPI。我遵循這種方式,一切都完美無缺。我有一個帶有範例控制器的工作 API,我可以通過從瀏覽器進行呼叫來呼叫它。

唯一的缺點是,這種特殊的方法帶來了自己的包袱。我創建的 MVC 4 項目包含 JQUERY 和其他庫,以及一些我可能不需要的其他文件夾。我想要的只是 Web API 結構——而不是額外的包袱。

我嘗試使用線上搜尋查找模板,但我找到的包無法正常工作並且評級非常差。在此處輸入圖像描述

我希望我已經正確地說明了我的問題。我現在期待一些回饋:) 謝謝。

在 Visual Studio 2013 中

  1. 右鍵點擊 ASP.NET Web 窗體項目。
  2. 添加->添加腳手架項目…
  3. 在 Installed/Common/MVC/Web API 下選擇您希望使用的腳手架類型。
  4. 按照腳手架模板的說明進行操作。例如,當您選擇“Web API 2 Controller with read/write actions”或“Web API 2 Controller - Empty”時,系統會提示您輸入控制器名稱
  5. 然後,您需要將最近創建的控制器移動到最近創建的Controllers文件夾中。

結果

據我所知,Visual Studio 執行以下操作:

  • App_Start/WebApiConfig2.cs ”已創建。

  • 控制器文件夾已創建。

  • 編輯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 文件夾而不是項目開始。這會將新控制器放在 Controllers 文件夾中,而不是放在根級別。

執行上述步驟後,來自 Visual Studio 的自述文件:

Visual Studio 已將 ASP.NET Web API 2 的全套依賴項添加到項目“RowersCode.Web”中。

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

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

* 使用 System.Web.Http; * 使用 System.Web.Routing; 2. 如果程式碼尚未定義 Application_Start 方法,請添加以下方法:

受保護的無效 Application_Start()

{

} 3. 將以下行添加到 Application_Start 方法的開頭:

GlobalConfiguration.Configure(WebApiConfig2.Register);

引用自:https://stackoverflow.com/questions/20538119