Оператор Await можно использовать только в методе Async

Я пытаюсь создать простую программу для тестирования новой асинхронной функции .NET в Visual Studio 2012. Обычно я использую BackgroundWorkers для асинхронного выполнения трудоемкого кода, но иногда это кажется проблемой для относительно простой (но дорогой) операции. . Новый модификатор async выглядит неплохо, но, к сожалению, я просто не могу провести простой тест.

Вот мой код в консольном приложении C #:

static void Main(string[] args)
{
    string MarsResponse = await QueryRover();
    Console.WriteLine("Waiting for response from Mars...");
    Console.WriteLine(MarsResponse);
    Console.Read();
}

public static async Task<string> QueryRover()
{
    await Task.Delay(5000);
    return "Doin' good!";
}

Я проверил несколько примеров в MSDN, и мне кажется, что этот код должен работать, но вместо этого я получаю сообщение об ошибке сборки в строке, содержащей «await QueryRover ();» Я схожу с ума или происходит что-то подозрительное?


person William Thomas    schedule 06.08.2012    source источник


Ответы (1)