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

标签 c# asp.net-core-mvc asp.net-core-signalr

我有一个启用了 HTTPS 并面向 Docker Linux 容器的 ASP.NET Core 2.2 MVC 项目。我已按照 https://learn.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>

关于c# - 如何在 Pace.js 中使用 ASP.NET Core SignalR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54770354/

相关文章:

c# - Tls 1.2 或 Tls 1.0 与 .net 框架 4.0

c# - 没有注册类型 'Microsoft.AspNetCore.Mvc..."的服务

c# - 升级到 .Net Core 2.1 时找不到版本为 (>= 2.1.0) 的包 Microsoft.Extensions.SecretManager.Tools

javascript - 与新信号器库建立连接

c# - Asp .Net Core 2 + SignalR (1.0.0-alpha2-27025) +/signalr/negotiate 404错误

c# - System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

c# - 在 SQL Server 中存储、检索和验证密码 (SecureString)

c# - OnClient Click 使用 Freetextbox 的 javascript

c# - 如何自定义实现asp.net身份的UpdateAsync方法?

swift - 使用 SwiftR 的 Swift 中的 SignalR - 协商请求期间出错