我正在玩Azure Worker Roles。调用异步WinRT方法并使用await
关键字时,服务执行结束。我猜这是因为await
将控制权返回给调用者,这是服务内部的链接。也许调用者不期望Run()
返回控制权,直到它完成执行并假定服务已完成或出现故障?
我不确定,是否有人知道async
是否打算与Azure工作角色一起使用?
答案 0 :(得分:5)
你的猜测是完全正确的。
在调用堆栈中的某个时刻,您需要通过从.Wait()
方法调用Task
上的async
来明确等待(并阻止)直到操作完成。 / p>
您应该在根Run()
方法中或附近执行此操作。