Получить результат асинхронного метода

У меня есть метод, который выполняет асинхронный вызов веб-службы. Что-то вроде этого:

public static async Task<ReturnResultClass> GetBasicResponseAsync()
{
    var r = await SomeClass.StartAsyncOp();
    return await OtherClass.ProcessAsync(r);
}

И я хочу предоставить синхронную альтернативу:

public static ReturnResultClass GetBasicResponse()
{
    return GetBasicResponseAsync().Result;
}

Но она блокируется при вызове Result. Потому что он вызывается в том же потоке, что и асинхронная операция. Как я могу получить результат синхронно?

Спасибо!

5
задан svick 3 March 2012 в 14:09
поделиться