2010-07-07 52 views
0

我正在開發一個基於局域網的計數器計費應用程序,大約有10個客戶端。基本上1臺服務器將安裝SQL-Server Express,其中將存儲所有計費詳細信息。因此,所有10個客戶端都將與服務器&進行通信,然後獲取產品信息和帳單。我是WCF的新手,並從各種來源閱讀WCF的一些文章。我認爲NetTCPBinding對此有好處!!!我的問題是「NetTCPBinding是否適合這個目的?」。我想保持簡單。我還需要爲客戶端應用程序PC和服務器應用程序PC編寫不同的WCF服務以進行通信?哪個WCF綁定局域網客戶端應用程序

如果我的問題聽起來令人困惑,然後用簡單的話我想從我的LAN客戶端PC中插入和更新SQL-Server 2005表(安裝在服務器上)用於計費目的。我怎麼能做到這一點使用WCF ...

感謝

回答

2

對於基於LAN的應用程序,我強烈推薦netTcpBinding因爲它顯著快於基於HTTP綁定(因爲它編碼的二進制,而不是消息文本格式),它支持所有功能,如會話,流媒體等,你可能會想要。

唯一的一個小問題是,如果您使用的是netTcpBinding,則無法在IIS6(Win Server 2003/2003 R2)中託管您的WCF服務 - 您需要使用IIS 7(Win Server 2008或2008 R2)或自己在例如WCF服務中託管WCF服務Windows服務(適用於任何Windows Server操作系統版本)。

朱瓦爾·洛在他的書中Programming WCF Services一個很好的和簡單的流程圖(標準書爲中到高級主題),幫助您輕鬆挑選最恰當的結合 - 在這個article by Juval找到它。

+0

+1對於netTcpBinding比http快,但對於這個特定的問題,這可能沒有太大的差別。 – 2010-07-07 21:44:34

0

每MSDN:

的NetTcpBinding的默認生成運行時通信棧,其使用傳輸安全,TCP進行郵件傳遞,和一個二進制消息編碼。此綁定是通過Intranet進行通信的適當系統提供的選擇。

更一般地說,HTTP系統提供的綁定(如WSHttpBinding和BasicHttpBinding)配置爲默認打開,而NetTcpBinding綁定默認關閉,因此您必須選擇加入以獲得支持,例如,用於其中一個WS- *規範。這意味着在默認情況下,在端點之間交換消息時TCP的默認配置比爲HTTP綁定配置的默認配置更快。

+0

NetTcp更快的主要原因是它使用BinaryMessageEncoding與TextMessageEncoding,它比幾何數量級更快,更緊湊。 – 2010-07-08 05:08:06

0

我發現WCF開始出來的時候,CodePlex上引導非常寶貴的,因爲他們對如何設置提供有關WCF的各個方面的細節和解釋相關,與導遊和配置不同的方案:

CodePlex Security Guide

你應該請參閱上述頁面的「第三部分 - 內聯網應用場景」下的章節。

0

我喜歡關於WCF的一件事情就是像HTTP和TCP這樣的選擇通常是不成問題的:更改綁定可以像更新配置文件一樣簡單,如果你小心的話。

另一個警告是,TCP綁定的編碼將限制客戶端可以與您的WCF服務器交互的內容。如果您設想必須支持非.NET客戶端,則您需要使用HTTP來確保通用功能。

+0

好吧,不需要在內部使用緩慢的HTTP - 如果你真的需要去外部,只需添加第二個支持HTTP綁定的端點,就完成了!內部客戶端使用快速Nettcp,外部連接到HTTP端點 - WCF的美麗,全部在配置中完成,無需更改AT ALL。 – 2010-07-08 05:07:20

相關問題