回答
如果你想要走这条路,从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