Вызов awaitMethod()
не печатает второй призыв console.printline
в GetFilmCount()
ни делает последний оператор печати в awaitMethod()
вызывается. Единственный выход - Console.printLine()
при первом вызове GetFilmCount().метод Асинхронный не вызывая
Я делаю что-то неправильно здесь. Не могу понять, почему так оно себя ведет?
public async void awaitMethod()
{
int count1 = await GetFilmCount(1);
int count2 = await GetFilmCount(2);
Console.WriteLine("Number of films {0}, {1} ", count1,count2);
}
public async Task<int> GetFilmCount(int count)
{
Console.WriteLine("Count {0} ", count);
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand cmd = new MySqlCommand("select sleep(5) ; select count(*) from sakila.film", connection);
return await cmd.ExecuteScalarAsync().ContinueWith(t => {
return Convert.ToInt32(t.Result);
});
}
}
Как вы звоните 'awaitMethod'? –