This is the code of my .NET core 3.1 console application:
using System.Net.Http.Headers;
using NumbersConsole.Models;
namespace NumbersConsole
{
    class Program
    {
        static HttpClient client = new HttpClient();
        static void ShowcaseNumber(NumberModel numberModel)
        {
            Console.WriteLine("Number: " + numberModel.Number.ToString());
            Console.WriteLine("Fact: " + numberModel.Text);
            Console.ReadLine();
        }
        static async Task<NumberModel> GetNumberModelAsync()
        {
            NumberModel number = null;
            var path = new Uri("http://numbersapi.com/41");
            HttpResponseMessage response = await client.GetAsync(path);
            if (response.IsSuccessStatusCode)
            {
                number = await response.Content.ReadAsAsync<NumberModel>();
            }
            return number;
        }
        static void Main(string[] args)
        {
            RunAsync();
        }
        static async Task RunAsync()
        {
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            NumberModel number = new NumberModel();
            number = await GetNumberModelAsync();
            ShowcaseNumber(numberModel);
        }
    }
}
And this is my NumberModel.cs:
namespace NumbersConsole.Models
{
    public class NumberModel
    {
        public string Text { get; set; }
        public int Number { get; set; }
    }
}
Somehow HttpResponseMessage response = await client.GetAsync(path) does not give a response but instead the program just exits.
I have tried using this answer and this article. I have tried multiple variations of this line of code like
HttpResponseMessage response = client.GetAsync(path).Result;
Does someone know what is wrong with my code?
 
    