我即將在ASP.NET中啓動我的第一個Web服務。當在谷歌搜索它顯示ASP.NET 3.5 Web服務
RestFul Service
SOAP services
WCF
哪一個是穩定?。它們之間的關鍵差異是什麼?
我即將在ASP.NET中啓動我的第一個Web服務。當在谷歌搜索它顯示ASP.NET 3.5 Web服務
RestFul Service
SOAP services
WCF
哪一個是穩定?。它們之間的關鍵差異是什麼?
定義 「穩定」 ;-p
如果你的意思是 「在場上的時間」,那麼對於.NET的順序將是SOAP(ASMX),WCF,REST
注意,有一個以數據爲中心的REST服務(典型的ADO.NET數據服務)和WCF/asmx(以操作爲中心)之間發生了很大的轉變。
REST對於調用者來說可能更靈活; WCF/asmx具有更嚴格的控制(就暴露謹慎的操作而言)。兩者都有自己的位置,但我在傾向於仍然使我的默認操作爲中心的方法(通過WCF)在大多數情況下(定義數量的測試等)。
WCF與.NET中提供的原始Web服務相比有更多的進化,並且具有更好的WSE支持(儘管asmx可以通過WSE3進行擴展)。如果你從今天開始,在大多數情況下,WCF將是比asmx更好的選擇。
肯定會與WCF一起使用 - 這是跨機器通信的當前和未來技術。
SOAP與REST的問題有點像手動與自動傳輸 - 它取決於您的需求和偏好。
SOAP一般來說更加堅固一點 - 它具有像WSDL和XSD這樣的模式和元數據,可以清楚明確地描述服務及其所有方法及其所有數據。在企業環境中非常有用。
另一方面,REST更容易理解,易於理解,只需要在URL-and-get-XML-back方法中編寫代碼即可。它運行良好,幾乎可以被人閱讀,開銷也較少,但也不太「安全」 - 因爲幾乎沒有任何描述服務的元數據 - 要麼你自己知道,因爲你是服務的作者,或者服務提供者有好的文檔在某個地方。
因此,我認爲沒有明確的贏家 - 選擇一個更接近您的需求和您的偏好。
(回覆評論) – 2009-12-20 15:55:18