WCF绑定单位的绑定建议

时间:2012-07-02 17:18:56

标签: wcf architecture

我计划构建一个基于WCF的应用程序,该应用程序允许现场用户连接到调度中心,并能够在他们执行呼叫时获得有关其呼叫的更新并从系统请求信息。

我正在寻找有关如何将客户端连接到服务器的建议。

我在想我会使用NetTcpBinding。

但是,我是否使用回调结构,或者只是在两个方向上建立netTcpBiding连接以维持连接?

我可能在任何时候只有大约100个在线,并且会有一个调度中心更新或将现场人员发送到客户站点。

我们会使用手机数据通过互联网传输数据,并使用名为Netmotion的产品,让客户端计算机看起来就像在家庭网络上设置一样。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

由于客户端不会一直在线,或者可能存在连接中断(毕竟你使用的是移动数据),因此TCP / IP不是很可靠。

您可能会遇到连接出错中途以及各种其他连接问题。最重要的是,你将不得不为遇到的每一个特殊情况做很多错误处理(在开发过程中你不会遇到它们)。

我认为客户不是某种类型的嵌入式设备,而是笔记本电脑(或平板电脑从今年秋季开始:))。

因此,我建议在MSMQ(事务性)上使用WCF有以下几个原因:

  • 可靠的通信和消息传递,0数据丢失。如果您使队列具有事务性并利用分布式事务,则这适用。
  • 未送达的邮件将返回给您(在死信队列中),您可以进行日志记录,故障排除或将其发送回去进行进一步处理。
  • 断开沟通。发送邮件时,客户甚至不必在线。它们只是在本地MSMQ中排队,并在客户端上线时转发到目的地。这同样适用于服务器。

这适用于您的情况,因为据我所知,您并不需要双向沟通。调度中心发送工作订单,由客户端接收(在线时),客户端对其执行操作,然后将状态发送回服务器。

在任何情况下,您都应该以这样的方式对消息进行建模,它们只包含必需的元数据,便于通过无线方式发送。

通过MSMQ发送的WCF客户端的简单示例是here

答案 1 :(得分:0)

查看发布/订阅模型的此设计模式。

MSDN publish subscribe pattern