Проблемы асинхронности ООП

Я имею 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/

→ Ссылка