使用 .NET 客户端时的 SignalR 传输
Posted
技术标签:
【中文标题】使用 .NET 客户端时的 SignalR 传输【英文标题】:SignalR Transports when using the .NET Client 【发布时间】:2014-11-18 16:36:38 【问题描述】:我正在考虑在一些 WCF 和 WPF 应用程序中使用 SignalR。
在阅读 SignalR 时,我了解到它支持 4 种不同的传输类型:
WebSocket 服务器发送事件 永远的框架 Ajax 长轮询如果我有一个 WPF 或 WCF 应用程序使用 SignalR .net 客户端与普通 SignalR 服务器(如 SignalR 示例)通信,那么使用其中哪一种传输类型?
【问题讨论】:
【参考方案1】:SignalR .NET 客户端最多支持 3 种传输:
WebSockets(仅限 .NET 4.5)
2.2.0 版 SignalR 客户端还将支持 universal Windows apps 中的 WebSocket 传输。
服务器发送的事件
长轮询
还有默认的自动传输,它将尝试使用可用的最佳传输。例如,它最初会尝试使用 WebSockets 启动连接,但如果失败,它将尝试使用服务器发送的下一个事件,然后进行长轮询。
.NET 客户端永远不会尝试使用永久帧传输,因为该传输与服务器发送的事件非常相似。两种传输方式的主要区别在于,forever frame 传输方式将其有效负载包装在 html 中,以支持使用 iframe 加载有效负载的旧版浏览器。
您可以在this guide 中了解有关 .NET 客户端和提供的传输的更多信息。
【讨论】:
以上是关于使用 .NET 客户端时的 SignalR 传输的主要内容,如果未能解决你的问题,请参考以下文章