2

我有一个现有的 WCF 服务,我们一直在使用它与 Silverlight 客户端进行通信,因此一直将它与 NetTCP 绑定一起使用。我想开始在 JavaScript 客户端上使用相同的服务,最好尽可能少地修改服务(即,允许 Silverlight 和 JS 客户端调用相同的双工服务)。理想情况下,这将通过诸如 WebSockets 之类的性能合理且可扩展的技术来实现,而不是像 Comet 之类的 hack。

最好的方法是什么?

向服务添加 WebSocket 支持(通过NetHttpBinding)似乎是一种明显的方法 - 但似乎没有任何关于如何从 JavaScript 调用生成的服务的文档。我想我可以将它配置为使用基于文本的传输,而不是默认的二进制传输,然后将某种基于 JavaScript 的 SOAP 客户端(可能使用WSDL2JS)组合在一起来调用它。感觉它应该可以工作,但也很尴尬,而且混合中的一些片段没有得到很好的记录。

我还可以在XSocketsSuperWebSocket之类的框架中重新实现我的服务,但这是一些真正的工作,保持它与 WCF 实现同步将更重要。

还有其他想法吗?

4

1 回答 1

1

我是 XSockets.NET 背后的人之一。我希望能帮你解决这个问题。XSockets 有一个“外部”API,您可以使用它从 WCF(或其他任何与 TCP/IP 和 .NET 相关的东西)向 XSockets 服务器发送消息。然后服务器将消息(发布/订阅模式)传递给客户端,反之亦然。

因此,您的 WCF 几乎不会发生任何变化。

如果您需要一个示例,请告诉我,我会为您提供一个。只需在 xsockets dot net 上给我发一封关于 uffe 的电子邮件,我们就可以从那里获取。

编辑:创建了一个关于如何将 WCF 提升到实时的示例。它在 GitHub 上:将 WCF 提升到 RealTime

问候 Uffe,XSockets 团队

于 2012-10-31T19:32:32.363 回答