在我的办公楼里,我们在多个楼层都有笔记本电脑运行WCF服务。当WCF服务相互通信时,超出范围设备的消息是否会通过多跳自动到达它? WCF / WLAN设备驱动程序是否处理此问题?或者我是否必须检测设备是否不可联系/超出范围并在我自己的服务中实现跳跃?
答案 0 :(得分:3)
只要您有从WCF客户端到服务的连接 - 是的,将使用所有途径。你不应该关心你的消息所采用的网络路径这样的事情 - 网络必须在呼叫期间必须存在且稳定; - )
WCF中没有任何东西可以解决这个问题,实际上 - 这应该通过驱动程序或操作系统在网络堆栈中处理得更低。
答案 1 :(得分:2)
简短回答
使用WCF可以执行以下任一操作或两者:
在Microsoft提供的WCF类中没有提供增强漫游的特殊机制,但是如果您编写或找到执行此操作的通道实现,框架本身很容易无缝地支持它。
完整答案
WCF不是在线协议。它是一个允许您使用各种协议和网络堆栈进行通信的框架。这允许您使用相同的客户端和服务器代码,无论您使用的是HTTPS,原始TCP,命名管道还是任何其他协议。
WCF附带了许多频道,您可以添加自己的频道。例如,如果您想通过BlueTooth或IRDA进行通信,只需创建一个讲述这些协议的新通道,您就可以在其上使用WCF服务。这些渠道也可以在网上找到或从供应商处购买。
今天的大多数网络都是使用IP协议完成的,如果您使用WCF在桌面计算机之间进行通信,您可能会在IP之上使用某些协议,例如TCP或HTTP。在这种情况下,将使用IP的正常路由规则,因此如果两台计算机可以交换IP数据包,则可以使用WCF进行通信。
因此,如果您的WiFi接入点允许无缝漫游,您将能够使用WCF进入该功能。
如果您的WiFi路由没有无缝漫游,如果您想在漫游期间保持连接,则必须做一些额外的工作。具体而言,您需要创建一个通过重新解析服务器nane并重试请求来响应已关闭连接的通道。当然,您必须使用DNS或其他协议,以便服务器可以在其IP地址更改时更新其注册。
WCF足够灵活,允许您创建这样的频道并在没有应用程序代码实现的情况下使用它。但是没有任何类似的东西出现在框中:你必须构建它,或者下载或购买它。
答案 2 :(得分:0)
它与WCF无关....
如果计算机之间存在连接,则在IP上,则消息将通过...