2012-03-09 34 views
9

我聽說過很多關於哪個更好的意見,並且重複使用WCF服務客戶端或每次創建一個。但我從未設法理解在這些情況下究竟發生了什麼。除了意見,我真的沒有找到'官方'的東西(如MSDN網頁說哪個更好,爲什麼和什麼時候)。重複使用WCF服務客戶端或每次創建一個?

在開發自己的應用程序時,我很少遇到每次創建(和關閉)問題(創建和關閉過程不會在處理時間內添加甚至不到一毫秒)的問題。但在少數情況下,重複使用WCF服務客戶端確實會改變(以一種好的方式)。這些都是我在實踐中觀察到的,沒有真正的邏輯動機。

那麼,任何人都可以解釋我究竟哪種方式更好? 而在哪種情況下?這取決於客戶端加載?在IIS上使用Web Garden會影響選擇?

回答

5

Microsoft建議緩存創建客戶端:http://msdn.microsoft.com/en-us/library/aa738757.aspx(檢查出的「需要考慮的問題」部分)

在WCF的最初版本有一個性能問題,創建通道工廠,因此在創建客戶端每次造成的性能問題。我們必須創建並緩存渠道工廠。 Microsoft通過更新(.NET Framework SP1?)解決了此問題,並且不再需要緩存。

基本上,修復後的性能差異可以忽略不計,尤其是考慮到您通過網絡進行呼叫。

+0

*哪個*框架的「SP1」? – user2864740 2015-01-20 16:46:44

相關問題