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;
};
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;
};