AspNetCore SignalR客户端像这样对关闭的处理程序使用异步方法。
HubConnection.Closed += async (exception) =>
{
await SomeAwaitableTask();
};
但是关闭连接后,我没有任何任务要完成。我将只显示一个“从服务器断开连接”消息,并带有一个按钮来重新启动应用程序,因此不需要Closed方法也不需要aynsc等待任务。
我可以通过在方法中使用Task.Delay(0)
来解决此问题,以完成其等待的Task要求。
HubConnection.Closed += async (exception) =>
{
await Task.Delay(0);
//Show message()
};
但是感觉到它很棘手,这是否像感觉中那样糟糕,还是标准解决方案?
谢谢。
答案 0 :(得分:0)
您可以返回CompletedTask
,而无需启动任何异步代码。
HubConnection.Closed += (exception) =>
{
// Show message()
return Task.CompletedTask;
};