SignalR - 检测服务器端连接的传输方法

时间:2013-03-24 19:14:07

标签: signalr

您能否在服务器端识别出哪种传输方法用于给定的SignalR连接? (WebSockets,SSE,长轮询等?​​)

2 个答案:

答案 0 :(得分:17)

在Hub中,您可以通过查看请求的查询字符串来检测正在使用的传输:

Context.QueryString["transport"]

这将评估为“webSockets”,“serverSentEvents”,“foreverFrame”或“longPolling”。

理想情况下,您的代码不应该依赖于使用哪种传输,因为SignalR会为您提取摘要。但是,这对日志记录等很有用。

答案 1 :(得分:5)

对于ASP.NET SignalR 2.0版,您可以使用$.connection.hub.transport.name打印出传输的名称。它将评估为" serverSentEvents"和其他运输工具。