【发布时间】:2021-04-06 15:21:53
【问题描述】:
我使用具有以下自定义的 Web App MVC 应用程序模板,使用 Visual Studio 和 SignalR 创建了一个非常简单的 ASP.NET Core 应用程序:
- 通过 libman 添加了对 @microsoft/signalr 库的引用,
- 在
_Layout.cshtml中引用了<script src="~/lib/microsoft-signalr/signalr.min.js"></script>, - 在 Startup.cs 中添加了所需的 SignalR 服务并创建了一个空 Hub,以如下方式公开:
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<MyHub>("hub/remote");
// ... MVC router definitions
}
- 在 JS 中创建了 SignalR 连接:
const connection =
new signalR.HubConnectionBuilder()
.withUrl("/hub/remote")
.configureLogging(signalR.LogLevel.Trace)
.withAutomaticReconnect()
.build();
connection.start().then(() => console.log("Connected."));
然后我启动了 MVC 应用程序,一切正常启动。 但是,我仔细查看了 SignalR 日志消息:
我相信这是 SignalR 的内部心跳,它使连接保持活动状态。 我想知道为什么从发送消息到收到响应需要 4-5 秒?
我还尝试在更复杂的应用程序中使用 SignalR,有时我什至开始接收“重新连接”事件,因为那里的负载明显更大。
这让我觉得我在配置连接时做错了什么,但不知道到底是什么。
【问题讨论】:
-
“连接速度慢”不是 ASP.NET Core SignalR 中的事件。并且心跳之间没有直接关系,所以间隙是正常的。
-
回复:连接速度慢 - 你是对的。我已经习惯了非核心 SignalR :)。回复:差距,好的,感谢您确认。
-
@Brennan 看起来没有其他 cmets。你能把你的评论变成答案让我接受吗?
标签: c# asp.net-core signalr asp.net-core-signalr