【发布时间】:2017-11-01 14:03:05
【问题描述】:
将 SignalR 用于 ASP.NET Core 2.0、客户端 (1.0.0-alpha2-final)、C# VS2017。
连接代码是:
await hubConnection.StartAsync();
因为这是await 的void,我们如何测试客户端是否成功连接?在我的测试中,我在public override async Task OnConnectedAsync() 的服务器端有一个断点,但该断点并非总是命中,因此我知道有时客户端不连接。或者它确实连接但OnConnectedAsync()没有被触发?
客户端怎么知道连接成功了?
谢谢
编辑:更多信息。它确实在使用localhost 时触发OnConnectedAsync()(在VS 中调试);通过 ngrok 连接时,它不会触发 OnConnectedAsync()。也许这和proxy/CORS有关,我不熟悉。
编辑:看来客户端确实确实连接了,因为如果我将 URL 更改为不存在的 URL,它会给出 404。所以问题似乎是 OnConnectedAsync() 没有触发当客户端通过 ngrok 连接但直接连接到 localhost 时会触发。
【问题讨论】:
标签: signalr asp.net-core-2.0 signalr.client asp.net-core-signalr