如何将 ASP.NET Core SignalR 与 Pace.js 一起使用
How to use ASP.NET Core SignalR with Pace.js
我有一个 ASP.NET Core 2.2 MVC 项目,它启用了 HTTPS 并面向 Docker Linux 容器。我已按照 https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio 中的所有说明在我的项目中启用 SignalR。
当项目 运行 我看到以下与 SignalR 相关的日志条目:
[2019-02-19T15:20:14.395Z] Information: Normalizing '/mainHub' to 'https://localhost:44392/mainHub'. Utils.ts:185:30
[2019-02-19T15:20:14.858Z] Information: WebSocket connected to wss://localhost:44392/mainHub?id=3RS_UsO7L20SQHgW4meRpQ. Utils.ts:185:30
WebSocket is not in the OPEN state insys-signalr-location.min.js:1:426
[2019-02-19T15:33:41.840Z] Error: Connection disconnected with error 'Error: WebSocket closed with status code: 1006 ().'. Utils.ts:179:21
Error: WebSocket closed with status code: 1006 (). WebSocketTransport.ts:130:16
要将 SignalR 与 pace.js 一起使用,我需要做什么特别的事情吗?
编辑
最初我认为这是 Docker 的问题。在确定与 pace.js 的冲突后,我重新设计了问题。
事实证明这是与 pace.js 的冲突。 运行 加载前的以下脚本 pace.js 解决了问题:
<script>
window.paceOptions = { ajax: { ignoreURLs: ['mainHub', '__browserLink', 'browserLinkSignalR'], trackWebSockets: false } }
</script>
我有一个 ASP.NET Core 2.2 MVC 项目,它启用了 HTTPS 并面向 Docker Linux 容器。我已按照 https://docs.microsoft.com/en-us/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio 中的所有说明在我的项目中启用 SignalR。
当项目 运行 我看到以下与 SignalR 相关的日志条目:
[2019-02-19T15:20:14.395Z] Information: Normalizing '/mainHub' to 'https://localhost:44392/mainHub'. Utils.ts:185:30
[2019-02-19T15:20:14.858Z] Information: WebSocket connected to wss://localhost:44392/mainHub?id=3RS_UsO7L20SQHgW4meRpQ. Utils.ts:185:30
WebSocket is not in the OPEN state insys-signalr-location.min.js:1:426
[2019-02-19T15:33:41.840Z] Error: Connection disconnected with error 'Error: WebSocket closed with status code: 1006 ().'. Utils.ts:179:21
Error: WebSocket closed with status code: 1006 (). WebSocketTransport.ts:130:16
要将 SignalR 与 pace.js 一起使用,我需要做什么特别的事情吗?
编辑
最初我认为这是 Docker 的问题。在确定与 pace.js 的冲突后,我重新设计了问题。
事实证明这是与 pace.js 的冲突。 运行 加载前的以下脚本 pace.js 解决了问题:
<script>
window.paceOptions = { ajax: { ignoreURLs: ['mainHub', '__browserLink', 'browserLinkSignalR'], trackWebSockets: false } }
</script>