2011-03-02 55 views
9

使用WCF双工(Chat Service | Sms Service)开发迷你项目后,我得到了一个可能不正确的点!WCF Duplex是不错的选择吗?

我相信双面理论是好的和有用的,但是关于使用Wcf Duplex有很多问题。 (如可靠的会话,超时例外,客户端地址 - 管理服务器端,代理管理客户端)

我想错了?我想念什么?

更多信息我用wsDualHttpBinding不是tcpBinding。

回答

14

如果你需要双向通信,并且你想使用WCF,双工信道是最好的选择。您只需要正确设计您的应用程序并正确处理您所描述的所有问题。如果您觉得这些问题是开销过大并且让事情变得更糟,您可以始终直接使用网络编程(套接字),或者通过在服务器和客户端上展示单独的服务来处理双向通信(首先从客户端通知服务器关于客户端地址的通知) - 这种情况将遭受与WsDualHttpBinding相同的通信问题。

WsDualHttpBinding本身是一种特殊的双工通信。我个人不喜欢它,因为人们经常滥用它。问题是这个绑定使用两个单独的连接 - 一个从客户端到服务器,另一个从服务器到客户端。这对于只使用从客户端到服务器启动的连接的net.tcp有很大的区别。很显然,通过因特网(=你无法控制客户端机器)使用WsDualHttpBinding会变得复杂得多,因为每个客户端都必须配置其防火墙(在计算机,家庭Internet网关等)以允许在某个端口上进行连接。此外,如果您想在同一客户机上运行多个应用程序实例,则每个实例都必须使用自己的端口。

+0

谢谢...对于好的技巧,如果可能的'关于Wcf双工的良好样品' – Rev 2011-03-02 10:35:03

+0

没有好的样品,它总是取决于当前的要求。 – 2011-03-02 10:43:39

相关问题