【发布时间】:2013-03-24 19:14:06
【问题描述】:
您能否在服务器端辨别给定 SignalR 连接使用哪种传输方法? (WebSockets、SSE、长轮询等?)
【问题讨论】:
标签: signalr
您能否在服务器端辨别给定 SignalR 连接使用哪种传输方法? (WebSockets、SSE、长轮询等?)
【问题讨论】:
标签: signalr
在 Hub 中,您可以通过查看请求的查询字符串来检测正在使用的传输:
Context.QueryString["transport"]
这将评估为“webSockets”、“serverSentEvents”、“foreverFrame”或“longPolling”。
理想情况下,您的代码不应依赖于所使用的传输方式,因为 SignalR 已为您抽象了该传输方式。但是,这可能对日志记录等有用。
【讨论】:
对于 ASP.NET SignalR 2.0 版,您可以使用$.connection.hub.transport.name 打印出传输的名称。它将评估为“serverSentEvents”和其他传输。
【讨论】: