枢纽代理所以目前,我正在迁移,通过Silverlight客户端实现的WCF服务和消费它的老项目。此WCF服务正在使用Silverlight自动理解并知道如何处理它的双工轮询方法。因此,一个新的HTML客户端将取代该Silverlight客户端。使用SignalR具有自主WCF和消费通过HTML客户
做一些研究之后,我发现了一些可行的解决方案:使用长轮询网页API或类似的,通过.NET的WebSocket实现增加在WCF WebSocket的支持,并使用SignalR。到目前为止,我更倾向于SignalR,因为我希望尽可能减少对WCF的更改。
所以,如果我的理解是正确的,使用SignalR的时候,它会创建一个服务器上的服务和客户端之间的通信集线器代理。此外,它将负责通信的传输,如果WebSocket在浏览器中不受支持,它可以默认使用WebSocket并返回到其他协议,并且可以在服务中没有实现协议的情况下进行传输。
我的问题是,如果我想使用SignalR我目前的WCF服务,这将是使它工作的步骤是什么? WCF服务是一个在服务器上作为Windows服务运行的自我主机。在WCF服务中,我有不同的子服务端点以及Silverlight客户端的当前端点。到目前为止,我可以添加自己的主机SignalR与WCF服务项目,它正在运行,但我不知道下一步会是什么。我需要为SignalR集线器添加一个单独的终端吗?
另一个问题是,我需要做一些修改双工服务,使其与SignalR工作?另外,客户端项目可以在WCF服务项目中与SignalR分开吗?最后,比较在WCF服务中添加对WebSocket的支持,并且只是实现SignalR,哪一个在长期内会有更好的优势。
谢谢。
我不知道......我 –
知道他们有在.net中的最新版本的WebSocket的支持。我只是不知道是否会对当前的代码进行很多修改以支持它。任何想法如何做到这一点? – Spincel