如何在异步代码中替换无限睡眠?

时间:2018-04-26 09:35:04

标签: c# async-await azure-service-fabric

我在服务结构中有代码,init服务并且永远等待(它来自VS生成的模板)。我将此GetAwaiter().GetResult()替换为async await,但我不知道如何处理Thread.Sleep - Task.Delay,最多TimeSpan将在某个时候结束。

ServiceRuntime.RegisterServiceAsync("Stateless1Type",
                    context => new Stateless1(context)).GetAwaiter().GetResult();

// Prevents this host process from terminating so services keep running.
Thread.Sleep(Timeout.Infinite);

1 个答案:

答案 0 :(得分:2)

试试这个:

await Task.Delay(-1);
  

完成返回之前等待的毫秒数   任务,或-1无限期等待。