我有一个现有的 WCF 服务,我们一直在使用它与 Silverlight 客户端进行通信,因此一直将它与 NetTCP 绑定一起使用。我想开始在 JavaScript 客户端上使用相同的服务,最好尽可能少地修改服务(即,允许 Silverlight 和 JS 客户端调用相同的双工服务)。理想情况下,这将通过诸如 WebSockets 之类的性能合理且可扩展的技术来实现,而不是像 Comet 之类的 hack。
最好的方法是什么?
向服务添加 WebSocket 支持(通过NetHttpBinding)似乎是一种明显的方法 - 但似乎没有任何关于如何从 JavaScript 调用生成的服务的文档。我想我可以将它配置为使用基于文本的传输,而不是默认的二进制传输,然后将某种基于 JavaScript 的 SOAP 客户端(可能使用WSDL2JS)组合在一起来调用它。感觉它应该可以工作,但也很尴尬,而且混合中的一些片段没有得到很好的记录。
我还可以在XSockets或SuperWebSocket之类的框架中重新实现我的服务,但这是一些真正的工作,保持它与 WCF 实现同步将更重要。
还有其他想法吗?