我有一个我们一直用来与Silverlight客户端通信的现有WCF服务,因此一直在使用它与NetTCP绑定。我想开始使用与JavaScript客户端相同的服务,理想情况下尽可能少地修改服务(即允许Silverlight和JS客户端调用相同的双工服务)。理想情况下,这将通过合理的高性能和可扩展技术(如WebSockets)而不是像Comet这样的黑客来实现。
最好的方法是什么?
向服务添加WebSocket支持(通过NetHttpBinding)似乎是一种明显的方法 - 但似乎没有关于如何从JavaScript调用结果服务的任何文档。我想我可以将它配置为使用基于文本的传输,而不是默认的二进制传输,然后将某种基于JavaScript的SOAP客户端(可能使用WSDL2JS)混合在一起来调用它。这感觉它应该工作,但也很尴尬,并且混合中的一些部分没有很好地记录。
我还可以在XSockets或SuperWebSocket这样的框架中重新实现我的服务,但这是一些真正的工作,并且与WCF实现保持同步将更加重要。
还有其他想法吗?
答案 0 :(得分:1)
我是XSockets.NET背后的人之一。我希望能帮到你。 XSockets有一个“外部”API,您可以使用它从WCF(或任何其他谈论TCP / IP和.NET)发送消息到XSockets服务器。然后,服务器将消息(发布/订阅模式)传递给客户端,反之亦然。
因此,您的WCF几乎没有任何变化。
告诉我你是否需要一个例子,我会为你提供一个例子。只需在xsockets dot net上发送一封关于uffe的电子邮件,我们就可以从那里获取它。
编辑:创建了一个关于如何将WCF提升到实时的示例。它在GitHub上:Boost WCF to RealTime
此致 Uffe,Team XSockets