在我的环境下面
我们在SignalR连接方面遇到麻烦。
使用 Attempt 1 ,我们可以在开发环境(localhost)中正确使用signalR,但是在生产环境中部署它时,会收到错误消息:
“ 与'wss:// xxxxxxxxx:60000 / PushNotificationHub?access_token ='的WebSocket连接失败:WebSocket握手期间出错:意外的响应代码:400 ”
尝试1
connessioneServizioChat = new signalR.HubConnectionBuilder().withUrl(puntatori.url.applicazioneApiCore + "PushNotificationHub", {
accessTokenFactory: () => sicurezza.dati.tokenAutenticazioneWebApi,
skipNegotiation: true,
transport: signalR.HttpTransportType.WebSockets
}).build();
因此,我们尝试通过以下解决方案来避免使用“ websocket”传输类型:
connessioneServizioChat = new signalR.HubConnectionBuilder()
.withUrl(puntatori.url.applicazioneApiCore + "PushNotificationHub")
.configureLogging(signalR.LogLevel.Information)
.build();
在这种情况下,我们的开发环境也存在问题:
signalrNew.min.js:16个选项https://localhost:60000/PushNotificationHub/negotiate 405(不允许使用方法)
我们不知道什么是协商方法以及如何解决我们的问题。
有人可以帮助我们吗?
谢谢
答案 0 :(得分:0)
2天后,我们找到了解决方案。 问题是服务器IIS。 在我们的测试服务器中,我们有带有IIS 7.5的Windows Server 2008。但是IIS 7.5不支持WebSocket because it was introduced with IIS 8.0.