此问题可能是由于SignalR Hub中缺少配置而引起的。为了更好地处理WebSocket传输,可以在Hub中使用WebSocket传输协议而不是默认的长轮询。以下是示例代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR().AddWebSockets();
}
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapHub("/chatHub", options =>
{
options.Transports = HttpTransportType.WebSockets;
});
});
}
以上代码将在服务中将SignalR注册为WebSockets,并将ChatHub映射到“/chatHub”端点。可以在选项中设置Transports以使用WebSockets协议进行传输,从而解决可能出现的内存问题。