2009-11-10 44 views
16

我有一個WCF服務託管的Windows服務和客戶端是一個ASP.Net應用程序消耗WCF服務的方法。NetTcpBinding的或的wsHttpBinding

在實施安全的過程中,我很困惑哪個在netTcpBinding/wsHttpBinding將適合我的情況。

最有可能的所有場景(WCF服務,Windows服務,ASP.Net網站)的應用將在我們的辦公室是坐在不同的服務器,從而在企業內部網。 ASP.Net網站將由用戶通過互聯網訪問。

雖然,我可以隨時使用的wsHttpBinding這裏,會是合適的設置使用在我的情況netTcpBinding服務端點?

回答

13

檢查了這一點對所有內置綁定不同的比較:

Configuring System-Provided Bindings - MSDN

至於你的情況下,只要它是Web服務器聯繫WCF服務,你不需要爲服務的任何外部消費者提供端點... netTcpBindnig應該能夠勝任這項工作。

+0

感謝您的回覆。我想我仍然需要指定終點,否則我將如何添加對客戶端網站的引用...如果我缺少某些東西,請糾正我。還是你的意思別的東西時,你說......「你不需要任何外部消費者服務的提供端點」 – iniki 2009-11-10 16:22:38

+0

當你說的網站,我假設你的意思是在你的硬件上運行的ASP.NET網站你的網絡。如果是這樣,任何到WCF服務的連接都將在返回到客戶端之前從Web服務器發送到您的服務。如果您希望第三方連接到您的服務,那麼wsHttpBinding會更好,因爲它不會將它們綁定到平臺。 – 2009-11-10 16:42:26

+0

謝謝!你假設正確:-) – iniki 2009-11-10 16:46:10

9

可以超過一個,如果你想結合暴露你的服務,所以你實際上可以同時使用。

但是,如果你控制客戶端和服務,他們都使用WCF,NetTcpBinding的速度要快得多。除非你在這兩者之間有防火牆,否則我會選擇這個。

5

使用netTcpBinding而不是wsHttpBinding如果您願意交易互操作性的性能知道,如果您不滿意結果(這是一個改變配置值的問題),你可以輕鬆取消交易。

6

由於您的WCF服務將由坐在您辦公室的應用程序訪問(INTRANET),因此我會使用netTcpBinding

Intranet方案,則建議您使用NetTcpBinding的,除非你有使用其他綁定,例如一個的wsHttpBinding具體要求。默認情況下,NetTcpBinding的使用二進制編碼運輸安全,它提供了更好的性能。

以下網址將有助於獲得更多的信息

http://msdn.microsoft.com/en-us/library/cc949026.aspx

http://msdn.microsoft.com/en-us/library/ms730879.aspx

0

由於WCF服務是NetTcpBinding的一個窗口服務+1。在IIS上託管netTcpBinding很困難。