2015-06-22 156 views
1

我是WCF的新手,我瞭解到使用WCF可以通過各種協議和消息格式在兩個或多個分佈式系統之間進行通信。到目前爲止,爲了實踐目的,我使用了basicHttpBinding。但出於演示的目的,我想確信使用netTcpBinding的位置等。請告訴我net.TcpBinding變得非常有用且幾乎必須選擇的場景。 也據我所知,它是WCF提供的優勢之一,它可以通過各種協議(如其他傳統Web服務無法實現的)無縫地與ASP.Net Web Services進行通信。 這是真的嗎?請澄清。爲什麼有人願意使用Tcp協議託管WCF而不是使用基本的Http協議?

+3

使用NetTcpBinding的主要原因是性能。與HTTP協議+二進制序列化相比,開銷更少。缺點是互操作性。 –

回答

3

每個不同的目標 bindins

+0

謝謝。但是我不能通過Http綁定創建跨平臺或者跨機器的通信(雖然我知道Tcp是面向連接的,而Http不是)? 如果我嘗試在這種情況下嘗試使用Http而不是Tcp,會面臨什麼問題? 請我只想讓我的疑惑清楚。 – StrugglingCoder

+0

@ user3655102你無法通過tcp接收其他平臺的數據,沒有黑魔法或自定義綁定 –

1

性能是一個二進制協議更好的結合。序列化速度更快,網絡使用更少。

此外,NetTcp綁定支持更多的.NET,例如泛型。它基於BinaryFormatter

另請參閱burning_LEGION的關係圖,我不打算複製它。

1

這裏有一些差異,這將有助於你瞭解答案

basicHttpBinding的 - 主要特點:採用WS-I Basic Profile的1.1非標準主要用於消費舊ASMX Web服務。其他重要的功能,你必須在注意:

作品over HTTP協議 根據BasicHttpSecurityElement支持安全(無/運輸/留言/ TransportWithMessageCredential/TransportCredentialOnly) 支持與MTOM(消息傳輸組織機制1.0信息編碼(MTOM)編碼器),用於與大型二進制附件

NetTcpBinding的消息轉院 - 主要功能:使用WS- *非標準(具有更多的功能,然後WS-I基本概要1.1)用於部署和的.NET WCF服務消費在跨機器通信環境中。其他重要的特點:

作品通過TCP協議 根據NetTcpSecurityElement(無/運輸/郵件/兩者) 支持事務 支持可靠的會話支持安全性(可支持恰好一次交貨保證)

Choosing a Transport此鏈接值得一看

+0

謝謝了。但是我不能通過Http綁定創建跨平臺或者跨機器的通信(雖然我知道Tcp是面向連接的,而Http不是)? 如果我嘗試在這種情況下嘗試使用Http而不是Tcp,會面臨什麼問題? 請我只想讓我的疑惑清楚。 – StrugglingCoder