回答
如果你想要走這條路,從Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices:
您需要實現合適的 同步邏輯來管理 代理。
您需要確保 代理的使用是平等的。有時,您可能需要爲代理實現 循環模式。
您需要處理池的異常和重試 。
池大小需要是 有限和可配置。
您可能需要能夠 創建代理,即使沒有代理 可從池中。
爲什麼你想要池代理?
池通常只存在於資源(如數據庫連接)稀缺,構建成本高且維護成本高時才存在。
這不應該是WCF代理的情況,真的 - 您根據需要創建它們,並在不再需要時丟棄它們。
我沒有看到任何好處或實際用途在嘗試池WCF代理 - 您想要解決什麼問題或問題?
好的,謝謝你的回覆 - 我明白你要完成的是什麼 - 但是我擔心,你幾乎完全靠你自己,因爲我不認爲有任何零散的東西在.NET框架和/或WCF子系統來幫助創建代理池。
馬克
PS:作爲Tuzo鏈接到顯示的文章,也許你可以只用緩存的ChannelFactory對象脫身。創建這些確實非常昂貴,如果您可以在應用程序的整個生命週期中緩存這些內容,那麼可能會滿足您的需求。一探究竟!
感謝您的答覆... 我談論的網站大量使用WCF的。與asmx代理相比,wcf代理有一些性能開銷,並且與代理實例化的方式有關。 因此,無論我有選擇使單例生成實例,以避免代理實例化或使其從池中獲取實例。我需要對這種方法與默認行爲進行基準比較。 – 2009-09-16 19:01:37
不能完全確定您希望如何在ASP.NET頁面生命週期中池化代理服務器......不確定是否「保存」並從代理服務器再次獲取代理服務器。高速緩存或應用會話內存的速度會更快。不過,我會對你的基準和結果感興趣。 – 2009-09-16 19:28:12
- 1. WCF代理池/管理器
- 2. 如果WCF代理的方法不可見,WCF代理如何實現ICommunicationObject?
- 3. 如何實現連接池?
- 4. WCF代理池 - 它值得嗎?
- 5. 如何實現WCF NetPeerTcpBinding PeerResolver
- 6. Hibernate如何實現代理對象?
- 7. 如何實現通用的Thrift代理?
- 8. 如何實現MockWebServer以使用代理
- 9. 如何動態實現代理模式?
- 10. 如何實現反向代理?
- 11. 如何實現電池管理器,其中包括BATTERY_STATUS_FULL
- 12. 實現MQTT代理
- 13. 如何在cntk中實現K-max池?
- 14. 如何實現連接池BIRT報表
- 15. 如何高效地實現連接池?
- 16. 如何在Golang中實現內存池
- 17. 如何實現連接池Multi_threading
- 18. 線程池實現
- 19. 如何管理PhantomJS實例的「池」
- 20. 代理代WCF
- 21. 如何獲得生成的WCF服務的代理類來實現INotifyPropertyChanged
- 22. 如何使用代理類庫和VB6客戶端實現WCF回調
- 23. 在WCF代理中實現Ws安全性
- 24. 在WCF DICOM代理服務上實現回調
- 25. wcf實現
- 26. 在內存池中實現內存池
- 27. 我們如何實現WebHttpBinding WCF REST服務的會話管理?
- 28. 代理類與真實類WCF問題
- 29. WCF和實體框架代理對象
- 30. 通過代理實現SSL
+1優秀且非常有趣的文章!感謝您的鏈接。 – 2009-09-17 05:21:29