17

您能否在服务器端辨别给定 SignalR 连接使用哪种传输方法?(WebSockets、SSE、长轮询等?​​)

4

2 回答 2

19

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

Context.QueryString["transport"]

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

理想情况下,您的代码不应依赖于正在使用的传输,因为 SignalR 为您抽象了它。但是,这对于日志记录等可能很有用。

于 2013-03-24T20:39:35.693 回答
5

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

于 2016-01-11T08:28:47.670 回答