async关键字如何与Azure工作者角色一起使用?

问题描述:

我在玩Azure Worker角色。当调用异步WinRT方法并使用关键字await时,服务执行结束。我猜这是因为await将控制返回给调用者,这是服务内部链中的东西。也许呼叫者不希望Run()返回控制权,直到它完成执行并假定服务已完成或发生故障?async关键字如何与Azure工作者角色一起使用?

我不确定,有谁知道async是否打算与Azure Worker角色一起使用?

你的猜测是完全正确的。

在调用堆栈中的某个点,您需要明确地等待(并阻止),直到操作完成为止,方法是从调用.Wait()

您应该在根Run()方法中或其附近执行此操作。