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

时间:2019-06-19 15:09:51

标签: c# signalr task asp.net-core-signalr

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

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

但是关闭连接后,我没有任何任务要完成。我将只显示一个“从服务器断开连接”消息,并带有一个按钮来重新启动应用程序,因此不需要Closed方法也不需要aynsc等待任务。

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

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

但是感觉到它很棘手,这是否像感觉中那样糟糕,还是标准解决方案?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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