gpt4 book ai didi

signalr - 如何在 ASP.NET Core 2.0 的 SignalR 中检查 HubConnection.StartAsync 是否成功?

转载 作者:行者123 更新时间:2023-12-03 19:37:03 27 4
gpt4 key购买 nike

将 SignalR 用于 ASP.NET Core 2.0,客户端 (1.0.0-alpha2-final),C# VS2017。

连接代码是:await hubConnection.StartAsync();因为这是一个 await对于 void我们如何测试客户端是否成功连接?在我的测试中,我在服务器端有一个断点 public override async Task OnConnectedAsync()但该断点并不总是被击中,因此我知道 有时 客户端无法连接。或者它做了 连接但 OnConnectedAsync()没有触发?

客户端如何知道它成功建立了连接?

谢谢

编辑:更多信息。它 OnConnectedAsync()使用时 localhost (在VS中调试);它OnConnectedAsync()通过 ngrok 连接时。也许这与代理/CORS有关,我不熟悉。

编辑:似乎客户端 确实连接,因为如果我将 URL 更改为不存在的 URL,它会给出 404。所以看来问题在于 OnConnectedAsync()当客户端通过 ngrok 连接时不会触发,但在直接连接到 localhost 时会触发。

最佳答案

StartAsync不是 void方法但返回 Task .如果客户端没有连接StartAsync throws(返回错误的任务),否则在客户端成功连接后异步调用将完成而不会出错(返回已完成的任务)。

关于signalr - 如何在 ASP.NET Core 2.0 的 SignalR 中检查 HubConnection.StartAsync 是否成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47056690/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com