如何在Pace.js中使用ASP.NET Core SignalR

问题描述 投票:3回答:1

我有一个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的冲突后,我重新定义了这个问题。

c# asp.net-core-mvc asp.net-core-signalr
1个回答
0
投票

原来这是与pace.js的冲突。在加载pace.js之前运行以下脚本解决了问题:

<script>
    window.paceOptions = { ajax: { ignoreURLs: ['mainHub', '__browserLink', 'browserLinkSignalR'], trackWebSockets: false } }
</script>
© www.soinside.com 2019 - 2024. All rights reserved.