Aplikacja kliencja Web Api

0

Witam wszystkich od jakiegoś czasu mam problem z którym nie potrafię sobie poradzić.

Otóż stworzyłem kilka dni temu prostą aplikację kliencką z bazą danych na azure opartą na architekturze mikroserwisowej która przechowuje atrybuty Klienta tj. Imię, nazwisko, wiek itp...

Stworzyłem obiekt ClientService, a następnie nowego klienta poniższym kodem

   ClientService client = new ClientService("http://localhost:5001/", new HttpClient());

            await client.CreatePatientAsync(new Patient()
            { Id = 0, FirstName = "Jan", LastName = "Kowalski", TestDate = DateTimeOffset.Now });


            var patients = await client.GetAllPatientsAsync();

            foreach(var patient in patients)
            {
                Console.WriteLine(patient.FirstName + " " + patient.LastName + " " + patient.TestDate);
            }

Aplikacja konsolowa powinna wyświetlić wszystkich klientów którzy znajdują się w bazie danych, zamiast wyświetlenia klientow pojawia się błąd:

System.Net.Http.HttpRequestException: 'Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia. (localhost:5001)'
SocketException: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia.

Nadmienię iż w swaggerze oraz bazie danych wszyscy klienci się pojawiają włącznie z klientem którego tworzę powyżej.

Co może być przyczyną powyższego problemu i jak go rozwiązać?

PS. Używam VisualStudio 2019 16.11.9
PS.1 . Próbowałem Panel Sterownia ->Włącz lub wyłacz funkcje systemu windows ->zaznaczyc internetowe usłgui informacyjne ale nie pomoglo

Z góry dziękuje za odpowiedzi

0

@printHello: A gdzie stoi ta aplikacja konsolowa?

0

Jest szansa, że to zapora (firewall) blokuje port lub antywirus. Rozumiem, że odpalany program nie korzysta w inny sposób z portu 5001 jak i wszystko odbywa się na tym samym komputerze (localhost).

0

@Kristof: Po wyłączeniu zapory i antywirusa nadal jest ten sam błąd. Program nie korzysta w inny sposób za portu 5001.

0

@jarzi: stoi na net 5.0, lokalnie

0

@printHello: Jak masz aplikację konsolową, która jest u Ciebie na komputerze to nie połączysz się z azure łącząc się do localhost, musisz połączysz się do apki na azure: https://<app_name>.azurewebsites.net czy do sql <your_server>.database.windows.net

0

@jarzi: połączenie do db mam zdefiniowane w connections string w appsettings.json, json pobrany z portal azure

0

@printHello: ok, to masz zdefiniowane połączenie do DB, ale musisz się połączyć do API i pobrać danę. Na azure masz WebApi, tak?

0

@printHello: Czy poniższa linia kodu jest w kliencie?

ClientService client = new ClientService("http://localhost:5001/", new HttpClient());

Bo jeśli tak, to pomimo pobranego .json z Azure nie połączysz się, tylko będiesz dalej próbował się połączyć z http://localhost:5001/

0

@bakunet: Ale dziwna sprawa u kolegi ten sam kod działa

0

@jarzi: W manage Connected services zdefiniowałem OpenAPI

1 użytkowników online, w tym zalogowanych: 0, gości: 1