在SignalR 2.0中,传输方法可以通过查询字符串中的string transportMethod = queryString["transport"];
参数来确定。
Connection = Upgrade
Upgrade = Websocket
在SignalR for ASP.NET Core中似乎不是这种情况。
我能做的最好的事情就是使用标题信息。
对于 WebSocket 连接:
Connection = Keep-Alive
长轮询:
Connection = Keep-Alive
Accept = text/event-stream
服务器发送的事件:
df [['col_1', 'col_2']]
有更好/更简单的方法来确定传输方法吗?
答案 0 :(得分:1)
您可以从HubCallerContext获取传输类型,如此
Context.Items[ConnectionMetadataNames.Transport]
答案 1 :(得分:1)
获取Signalr TransportType。
Context.Features.Get<IHttpTransportFeature>().TransportType.ToString()
答案 2 :(得分:0)
https://stackoverflow.com/a/53577064/2068719
// using Microsoft.AspNetCore.Http.Connections.Features;
var transportType = Context.Features.Get<IHttpTransportFeature>().TransportType;