给出如下代码(用于测试):
tcpListener = new TcpListener(IPAddress.Any, port);
tcpListener.Start();
while (!cancellation.IsCancellationRequested)
{
var client = await tcpListener.AcceptTcpClientAsync();
//Monitor services TCP messages to this client
var monitor = new Monitor(client);
monitor.MonitorAsync(cancellation.Token);
}
我明确地不想在await
上MonitorAsync
,因为我希望每个Monitor都可以并行运行,但是Visual Studio警告我(当然是正确的)代码执行将继续,而无需等待MonitorAsync
完成。
我更喜欢避免编译器警告,而将其视为我做错/不明智操作的标志。那么有没有一种“适当的”方法来满足编译器的故意行为呢?