Проблемы асинхронности ООП
Я имею main класс, и имею другой класс с получением html. Когда происходит асинхронное выполнение, программа перестает выводить что-то в консоль Вот мэин
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
a1 class1 = new a1();
class1.Hot();
}
}
Вот класс
class a1
{
public async void Hot()
{
Console.WriteLine("a");
HttpClient client = new HttpClient();
var html = await client.GetStringAsync("https://....");
Console.WriteLine("a");
}
}
Ответы (1 шт):
Автор решения: Vasya Milovidov
→ Ссылка
Вы не дожидаетесь завершения асинхронного вызова, напишите await перед вызовом асинхронного метода:
class Program
{
static async System.Threading.Tasks.Task Main(string[] args)
{
a1 class1 = new a1();
await class1.Hot();
}
}
Возвращаемый тип асинхронной функции должен быть Task
public async Task Hot()
{
Console.WriteLine("a");
HttpClient client = new HttpClient();
var html = await client.GetStringAsync("https://....");
Console.WriteLine("a");
}
Ссылки по теме:
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/async/