2016-06-14 51 views
0

假设我有一千个实时发送数据的硬件设备(约20,000个)。我必须捕获这些数据并将所有数据发送到数据库,并在应用程序中显示信息。为此,我正在考虑开发一个轮询所有设备并从设备获取数据并存储在数据库中的WCF服务。获得实时数据的WCF效率有多高?

所以我的问题是“是WCF有效地做到这一点,或者我应该遵循另一种方法”

+1

运行的是Windows 20,000设备? –

+0

没有,他们没有连接到Windows,它们是从以太网 – vikky

+0

@wikky连接 - 我的意思是,他们在运行Windows操作系统?或者至少,它们是否能够运行.NET Framework? –

回答

1

我想开发一个WCF服务,调查所有设备

WCF服务不能“投票”。消费者可以调查,这就是说它可以一遍又一遍拨打一个服务,但是有内置到WCF客户端通道没有轮询模式。所以任何轮询行为都需要编程。

所以我的问题是“是WCF有效地做到这一点,或者我应该遵循 另一个办法”

我怀疑的是,你真的想你的设备来调用服务和传递数据,因此你真正要问的是WCF服务可以处理大量的呼叫吗?,答案是肯定的。

然而,为了得到你应该暴露在每次呼叫的服务最好的可扩展性,并且这样做超过NetTcpBinding的(基本上插座),它采用优化的编码,因此更高的性能。

这将只提供给运行WCF客户端堆栈消费者。如果WCF在您的设备上不可用,那么下一个最佳选择可能是通过webHttpBinding提供的HTTP端点,它提供了最佳的互操作性。

能否请您推荐一些其他的技术吗?

好吧,如果你使用HTTP您的设备上很高兴,你应该看看nancyfx托管服务 - 这对.NET的一个非常好的,轻量级的HTTP容器。

+0

是的,轮询是通过编码实现的。所以根据回答WCF将是正确的选择? – vikky

+0

@vikky这是一个可行的选择。我不知道它是否是正确的选择...... –

+0

感谢您的回复,您能否推荐一些其他技术? – vikky