2008-11-07 88 views
24
  1. 我們目前只是利用soap web服務進行所有的溝通,但一直在考慮轉向WCF。通過asmx服務使用它有什麼好處?使用WCF有什麼好處?

  2. 如果我們使用WCF服務,其他語言是否仍然可以與它通信? SOAP是標準化的,所有語言都可以與之交互。

  3. 有沒有什麼真正的好例子說明如何開始使用WCF來顯示它對肥皂的好處?

編輯

回答

15
  1. 有一個位與WCF一個學習曲線,但一旦你瞭解它,它是沒有難度比一個ASMX Web服務來實現。一個好處是你可以輕鬆地將協議和序列化從二進制遠程切換到web protocols。在IIS或者外部託管也很容易。

  2. 其他語言可以與網絡協議進行通信。二進制,沒有那麼多...

  3. 我剛剛鑽進了Getting Started Tutorial。它在展示相對易用性方面做得很好。從那裏,看看Hosting和更詳細的Features

4

WCF不是SOAP的替代品,事實上,SOAP可以用作端點間通信的序列化格式。 SOAP標準也沒有真正定義消息體中的內容,因此在WCF到WCF通信的情況下,使用了SOAP信封,但內容是二進制的,所以這是您的主要優勢,至少在其中的表現。另一個優點是WCF的編程模型是或者至少是打算更直接的;特別是因爲它聽起來像你真的只是使用Web服務進行內部通信。在這種情況下,大部分工作都是預先配置終端(儘管在.NET中使用asmx WSDL顯然非常簡單)。

我不是WCF的專家,但我所知道的是來自Juval Lowy的.NET用戶組演示文稿(他編寫了O'Reilly WCF書籍),his site擁有相當數量的信息除了微軟網站之外,參考資料部分中的屏幕錄像和示例(您是否檢查過Channel9?)。


4

根據問題中鏈接的this MSDN article,WCF支持的不僅僅是SOAP。它支持:

  • basicHttpBinding的
    互操作性Web服務和客戶支持WS-BasicProfile 1.1和基本安全概要1.0。

  • WsHttpBinding的
    互操作性與支持WS- *協議,通過HTTP的Web服務和客戶端。

  • WSDualHttpBinding
    雙工HTTP通信,通過該初始消息的接收器不直接回復初始發送者,但也可通過依照使用HTTP與WS發送任意數量的在一段時間響應 - *協議。

  • WSFederationBinding
    HTTP通信,其中接入服務的資源可以基於由明確鑑定的憑據提供者簽發的證書來控制。

  • NetTcpBinding的
    安全,在網絡上WCF軟件實體之間的可靠,高性能的通信。

  • NetNamedPipeBinding
    安全,可靠,高性能的WCF軟件實體之間的同一臺機器上的溝通。

  • NetMsmqBinding
    使用MSMQ WCF軟件實體之間的通信。

  • MsmqIntegrationBinding
    一個WCF軟件實體,並通過使用MSMQ另一軟件實體之間的通信。

  • NetPeerTcpBinding
    通過使用Windows對等網絡軟件WCF實體間的通信。