SignalR - определить метод транспорта для подключения на стороне сервера

Вы можете различить на стороне сервера, какой метод транспорта используется для данного соединения SignalR? (WebSockets, SSE, длительный опрос и т.д.?)

Ответы

Ответ 1

Внутри концентратора вы можете обнаружить, что транспорт используется при просмотре строки запроса запроса:

Context.QueryString["transport"]

Это будет оцениваться как "webSockets", "serverSentEvents", "foreverFrame" или "longPolling".

В идеале ваш код не должен зависеть от того, какой транспорт используется с рефератов SignalR, что для вас. Однако это может быть полезно для ведения журнала и т.д.

Ответ 2

Для ASP.NET SignalR версии 2.0 вы можете использовать $.connection.hub.transport.name для печати имени транспорта. Он будет оценивать "serverSentEvents" и другие транспорты.