首页 文章

使用Angular 6客户端进行Long Polling的.NET Core 2.1 SignalR回退

提问于
浏览
1

我有Angular 6 app,aspnet / SignalR 1.0.3支持.Net Core 2.1(Microsoft.AspNetCore.SignalR 1.0.3 NuGet版本) . 在连接上,我得到:

WebSocket握手期间出错:意外响应代码:500,

之后,SSE的回落也不成功:

错误:无法启动传输'ServerSentEvents':错误:发生错误,

最后,我与Long Polling成功连接 .

客户代码:

public createConnection() {
   const options: any = {
   transport: 0,
   accessTokenFactory: () => 'my token'
   };
   this._hubConnection = new HubConnectionBuilder()
  .withUrl('http://localhost:5000/chathub', options )
  .build();
}

当我将传输设置为4(直接长轮询) - 没有错误 . 问题是为什么前两个(最佳)运输不起作用?可能是最新的客户端软件包版本不支持.Net Core 2.1吗?任何想法目前如何避免这种行为?

谢谢!

1 回答

  • 2

    我想我弄清楚了问题是什么 . 因此,代码没有任何问题,并且与.NET客户端完美配合 . 我认为问题在于浏览器不喜欢不安全的ws协议,因为这样做了后备 . 上传到使用https的部署后,wss协议用于通信和WebSocket工作没有任何问题 .

    希望有人帮助,欢呼!

相关问题