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