您能否在服务器端识别出哪种传输方法用于给定的SignalR连接? (WebSockets,SSE,长轮询等?)
答案 0 :(得分:17)
在Hub中,您可以通过查看请求的查询字符串来检测正在使用的传输:
Context.QueryString["transport"]
这将评估为“webSockets”,“serverSentEvents”,“foreverFrame”或“longPolling”。
理想情况下,您的代码不应该依赖于使用哪种传输,因为SignalR会为您提取摘要。但是,这对日志记录等很有用。
答案 1 :(得分:5)
对于ASP.NET SignalR 2.0版,您可以使用$.connection.hub.transport.name
打印出传输的名称。它将评估为" serverSentEvents"和其他运输工具。