2012-10-26 171 views
4

在Visual Studio 2012中,當我想將網絡服務添加到現有網站項目時,我至少在「添加新項目」對話框中有以下選擇:ASP.NET網絡服務技術的比較

  • 的Web API控制器類
  • 啓用AJAX
  • WCF服務
  • WCF服務
  • WCF數據服務
  • WCF服務Silverlight啓用
  • Web服務/ ASMX(這就是我一直在使用,直到今天)

(可能存在更多的選擇,如可作爲附件,擴展,NuGet軟件包等)。

據我所知,「Web API」是最新的Web服務技術。這是否應該用於所有新的開發?

還是還有其他情況,應考慮其中一種技術?有沒有比較這些技術或一些指導,何時使用哪些?

+0

一些類似的問題[here](http://stackoverflow.com/questions/5848069/wcf-web-api-vs-asp-net-mvc-json-web-services)和[here](http:/ /stackoverflow.com/questions/9451298/whats-the-difference-between-wcf-web-api-and-asp-net-web-api) – StuartLC

+0

這可能有助於瞭解您作爲網絡​​消費者定位的對象服務。儘管詳細的回覆應該列出目標受衆。 –

+0

Web服務的消費者將是其他ASP.NET應用程序,JavaScript代碼,.NET Windows應用程序,甚至可能是Java應用程序。它應該儘可能地「互操作」。 – M4N

回答

0

我沒有真正的比較,但假設您沒有遺留代碼或其他特定要求,我會使用新的Web API。他們基本上取代了ASMX和WCF服務。 它們使用簡單,工作方式與MVC App類似。

我們剛剛切換到它,並迄今如此好。

+0

更新了問題。我們有一個現有的網站項目(如果這就是你的意思是遺留代碼)。如果需要,我認爲可以將其轉換爲Web應用程序項目。 – M4N

+0

轉換成Web應用程序很簡單。我們也這樣做了。或者你可以在一個獨立的項目中運行你的web服務。 – Remy