2009-09-25 95 views
1

我已经做了相当数量的搜索,但找不到关于此主题的任何内容。使用线程管理连接池的最佳方式是什么?

我们有做数据处理的telnet服务器。登录telnet有开销(时间),所以我想要做的是有一个服务(WCF),它产生n个连接,充当应用程序/请求和服务器之间的代理。

所有这些连接都成功地登录到服务器并准备发送命令。应用程序可以发送命令到这个服务发送到服务器,然后从这个服务接收数据。如果有更多请求比连接数量多,那么这些请求将排队。

我知道如何使用线程和事件,但我怎么知道哪个请求返回数据? LEt认为有9个活动请求正在运行,我怎么知道返回的数据属于哪个请求?

我将不胜感激任何指针,可导致我到正确的方向。

我使用C#

回答

1

而不是简单地写一个WCF服务编程,我会考虑写一个WCF Telnet的是内部处理池结合。编写一个绑定来处理你的传输和通道级别的东西,比如连接池,是解决WCF问题的合适方法。您将以这种方式获得更大的灵活性,特别是可以编写多个服务来重用您的Telnet绑定。

我可以去到很多细节,但它很可能会作出一个非常大的答案。相反,我会提供以下链接,并通过电子邮件提供您需要的任何其他帮助。当WCF被滥用时,WCF可能会变得毛茸茸并且复杂,但当它被正确使用时,它可以是一个非常优雅和强大的通信工具。

0

如果你没有反感企业服务,您可以创建一个组件来处理通信到你可以配置为使用企业服务对象池的telnet服务器。

这将处理分钟,池中的对象以及对象创建超时的最大数量,也将排队你的请求。唯一“棘手”的部分是确保你的telnet连接在你的池中保持有效。

另外,如果你想保持更紧密地排列与WCF,那么你可以在this Pooling Sample证明实现自己的WCF池。

相关问题