C# AspNetCore SignalR 客户端 - 连接关闭处理程序

C# AspNetCore SignalR Client - Connection Closed Handler

AspNetCore SignalR 客户端像这样为关闭的处理程序使用异步方法。

HubConnection.Closed += async (exception) =>
{
    await SomeAwaitableTask();
};

但是当连接关闭时我没有任何任务要完成。我将只显示一条 "Disconnected from Server" 消息,其中包含一个按钮以重新启动应用程序,因此不需要也没有用于 Closed 方法的 aynsc 可等待任务。

我可以通过在方法中使用 Task.Delay(0) 来解决这个问题,像这样完成其可等待的任务要求。

HubConnection.Closed += async (exception) =>
{
    await Task.Delay(0);
    //Show message()
};

但绕过它感觉是一种相当老套的方法,这是一个像它感觉一样糟糕的解决方案还是标准解决方案?

谢谢。

您可以 return CompletedTask 而无需启动任何异步代码。

HubConnection.Closed += (exception) =>
{
    // Show message()
    return Task.CompletedTask;
};