Я прочитал, что я должен использовать только Result
вместо await
, когда я абсолютно уверен, что операция завершена. Я не совсем уверен, что происходит внизу, и хотел бы спросить опытных программистов, если это абсолютно безопасное использование await
/Result
/async
.Тупик при использовании Результат
public static bool Success()
{
return 0 < Execute("DELETE FROM Table WHERE Id = 12").Result;
}
public static async Task<int> Execute(string sql)
{
using (var con = Connection)
{
con.Open();
return await con.ExecuteAsync(sql);
}
}
Возможный дубликат [ожидание работает, но вызывает задачу. Результат зависает/блокируется] (http://stackoverflow.com/questions/17248680/await-works-but-calling-task-result-hangs-deadlocks) – sstan
'I что я должен использовать результат, а не ждать, когда я абсолютно уверен, что операция завершена. «Где вы это читали? Это совершенно неправильно. –
@ StephenCleary хорошо ... это был ваш ответ здесь ... http://stackoverflow.com/questions/24623120/await-on-a-completed-task-same-as-task-result –