修改现有的双工WCF服务以与JavaScript一起使用

时间:2012-10-29 15:47:09

标签: javascript wcf websocket

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

最好的方法是什么?

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

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

还有其他想法吗?

1 个答案:

答案 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