Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia?

260

Czasami pojawia się następujący błąd podczas wykonywania HttpWebRequest w usłudze WebService. Skopiowałem również poniższy kod.


System.Net.WebException: Nie można połączyć się ze zdalnym serwerem ---> System.Net.Sockets.SocketException: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia 127.0.0.1:80
   w System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, SocketAddress socketAddress)
   w System.Net.Sockets.Socket.InternalConnect (RemoteEP EndPoint)
   at System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, Socket s4, Socket s6, Socket & socket, IPAddress & address, ConnectSocketState state, IAsyncResult asyncResult, Limit czasu Int32, wyjątek i wyjątek)
   --- Koniec śledzenia stosu wyjątku wewnętrznego ---
   w System.Net.HttpWebRequest.GetRequestStream ()

ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.PreAuthenticate = true;
request.Credentials = networkCredential(sla);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = v_Timeout * 1000;

if (url.IndexOf("asmx") > 0 && parStartIndex > 0)
{
    AppHelper.Logger.Append("#############" + sla.ServiceName);

    using (StreamWriter reqWriter = new StreamWriter(request.GetRequestStream()))
    {                        
        while (true)
        {
            int index01 = parList.Length;
            int index02 = parList.IndexOf("=");

            if (parList.IndexOf("&") > 0)
                index01 = parList.IndexOf("&");

            string parName = parList.Substring(0, index02);
            string parValue = parList.Substring(index02 + 1, index01 - index02 - 1);

            reqWriter.Write("{0}={1}", HttpUtility.UrlEncode(parName), HttpUtility.UrlEncode(parValue));

             if (index01 == parList.Length)
                 break;

             reqWriter.Write("&");
             parList = parList.Substring(index01 + 1);
         }
     }
 }
 else
 {
     request.ContentLength = 0;
 }

 response = (HttpWebResponse)request.GetResponse();
hsnkvk
źródło
1
Właśnie uruchomiłem to połączenie z platformą Azure. Bezpiecznie jest powiedzieć, że maszyna docelowa jest dostępna. Problem nadal występował po ponownym uruchomieniu i resecie routera. Dziwne. Problem? Skrzypek nie został poprawnie zamknięty. System nadal spodziewał się kierować ruchem przez Fiddler i jest to „maszyna docelowa”, która była niedostępna.
Wok
Czy to może mieć coś wspólnego z używanymi gniazdami? Czy zamykasz je przy wyjściu?
George Sp

Odpowiedzi:

204

Jeśli tak się dzieje zawsze, oznacza to dosłownie, że komputer istnieje, ale nie ma usług nasłuchujących na określonym porcie lub zapora sieciowa Cię powstrzymuje.

Jeśli zdarza się to czasami - użyłeś słowa „czasami” - i ponawianie próby się powiedzie, prawdopodobnie dzieje się tak, ponieważ serwer ma pełne „zaległości”.

Gdy czekasz na accepted w gnieździe nasłuchującym, jesteś umieszczany w zaległości. Ten zaległość jest skończona i dość krótka - wartości 1, 2 lub 3 nie są niczym niezwykłym - dlatego system operacyjny może nie być w stanie ustawić w kolejce Twojego żądania przyjęcia.

Backlog jest parametrem listenfunkcji - wszystkie języki i platformy mają pod tym względem w zasadzie ten sam API, nawet C # one . Ten parametr jest często konfigurowalny, jeśli kontrolujesz serwer, i prawdopodobnie jest odczytywany z niektórych plików ustawień lub rejestru. Sprawdź, jak skonfigurować serwer.

Jeśli napisałeś serwer, możesz mieć poważne przetwarzanie w akceptacji gniazda, a to może być lepiej przeniesione do osobnego wątku roboczego, aby twoja akceptacja była zawsze gotowa na odbieranie połączeń. Istnieje wiele opcji architektury, które można zbadać, które ograniczają kolejkowanie klientów i przetwarzanie ich sekwencyjnie.

Niezależnie od tego, czy możesz zwiększyć zaległości serwera, musisz ponownie spróbować logiki w kodzie klienta, aby poradzić sobie z tym problemem - ponieważ nawet przy długim zaległościach serwer może otrzymywać wiele innych żądań w tym czasie w tym porcie.

Istnieje rzadka możliwość, że router NAT dałby ten błąd, gdyby jego porty dla mapowań zostały wyczerpane. Myślę, że możemy odrzucić tę możliwość jako zbyt długi strzał, ponieważ router ma 64K jednoczesnych połączeń z tym samym adresem docelowym / portem przed wyczerpaniem.

Będzie
źródło
Tak, dostaję to od czasu do czasu, nie zawsze, nie sądzę, że powodem jest zapora ogniowa lub cokolwiek innego, ale zaległości mogą być przyczyną tego problemu. Czy istnieje sposób na rozwiązanie tego problemu?
hsnkvk
@hsnkvk; właściwym, solidnym sposobem jest, aby klient miał pętlę ponownych prób; odpowiedź odpowiednio zaktualizowana
Czy
@Będzie; Mam już iteracjęCount i ponawiam próbę iteracjiCount razy, jeśli się nie powiedzie. :(
hsnkvk
1
To jest myśl. Źle zaprojektowany / skonfigurowany jest raczej niejasny, jak powiedziałeś. Czy poprzez inspekcję kodu chcesz wyświetlić kod wywołujący usługę internetową? Nie opublikowałem go, ponieważ jest to dokładnie ten sam kod, co ten, który wywołuje pierwszą usługę internetową i ten działa idealnie. Czy jest jakaś właściwość na serwerze, którą można skonfigurować za pomocą web.config, która mogłaby wpłynąć na drugą aplikację internetową?
Amith George,
9
127.0.0.1:80 sugeruje, że usługa internetowa znajduje się na komputerze lokalnym, co sprawia, że ​​problemy z siecią są mało prawdopodobne. Bardzo prawdopodobne jest to, że usługa internetowa uruchomiła się wolniej niż aplikacja kliencka podczas testowania. Nadal dodawanie logiki ponownych prób jest zdecydowanie najlepszym rozwiązaniem.
Martin Brown
31

Najbardziej prawdopodobnym powodem jest Firewall.

Ten artykuł zawiera zestaw powodów, które mogą ci się przydać.

Z artykułu możliwe przyczyny to:

  • Ustawienia serwera FTP
  • Software / Personal Firewall Settings
  • Wiele programów / zapór osobistych
  • Oprogramowanie antywirusowe
  • Warstwa LSP
  • Oprogramowanie układowe routera
  • Komputer wyłączony
  • Komputer niepodłączony
  • Skrzypek
Chathuranga Chandrasekara
źródło
9
Wiem, że to stare, ale możesz dodać Fiddlera do tej listy. odłączenie skrzypka podczas uruchamiania aplikacji, a następnie ponowne podłączenie sprawiło, że moje gniazda działają poprawnie.
ps2goat
1
Thumb up for Fiddler
Kalin Krastev
3
Miałem zainstalowany skrzypek na maszynie deweloperskiej, co spowodowało ten problem, nie miałem otwartego skrzypka podczas uruchamiania tego konkretnego projektu i otrzymałem błąd. Kiedy otworzyłem skrzypce podczas prowadzenia projektu, zadziałało
Peter PitLock
16

Zdarzyło mi się to również… Czasami, kiedy otwieram mój projekt, pojawiał się ten błąd, który był frustrujący. Problem polegał na tym, że czasami numer portu usługi sieci Web zmieniał się nieoczekiwanie.

Ten problem zwykle występuje, gdy masz więcej niż jedną kopię projektu

Mój projekt dzwonił do usługi sieci Web z określonym numerem portu, który przypisałem w pliku Web.Config mojego głównego pliku projektu. Ponieważ numer portu zmienił się nieoczekiwanie, przeglądarka nie mogła znaleźć usługi sieci Web i zgłosiła ten błąd.

Rozwiązałem to, wykonując następujące kroki: (Visual Studio 2010)

Przejdź do Właściwości Web serviceprojektu -> kliknij kartę Sieć -> W sekcji Serwery -> Sprawdź konkretny port, a następnie przypisz, standard port numberprzez który główny projekt wywołuje usługę internetową.

Mam nadzieję, że to rozwiąże problem.

Twoje zdrowie :)

Pan Zielony
źródło
2
To nie była dla mnie powszechna wiedza. Byłem zdezorientowany, bo do cholery, dlaczego mój błąd został LocalHost:2532dla mnie określony . Okazuje się, że został ustawiony w ten sposób przez poprzedniego właściciela w określonym przez Ciebie obszarze. Teraz, gdy ta tajemnica jest jasna, niektóre inne rzeczy stają się mniej tajemnicze. Dzięki!
Suamere,
7

Myślę, że musisz sprawdzić ustawienia proxy w „opcjach internetowych”. Jeśli używasz aplikacji proxy / „ukryj ip”, może wystąpić ten problem.

isaeid
źródło
Czy to typowy problem z Windows 7? Czy niektóre ustawienia domyślne różnią się od innych wersji systemu Windows?
Wolf
@Wolf, myślę, że to nie jest problem z Windows. ale może to być problem z połączeniem.
isaeid
Przejdź do IE -> Opcje internetowe -> karta Połączenia -> Ustawienia LAN, odznacz „Użyj serwera proxy dla swojej sieci LAN”. To rozwiązało problem.
Mike Kuenzi
W mojej aplikacji zawarłem opcję proxy (WPAD), ponieważ użytkownicy mogą jej wymagać. Ja nie. Jednak aktywowałem go na moim komputerze testowym, co spowodowałoby awarię. Jeśli więc nie musisz korzystać z serwera proxy, możesz nie zdefiniować go w swojej aplikacji.
potężny
4

Miałem ten sam problem. Problem polega na tym, że nie uruchomiłem serwera selenu. Pobrałem serwer selenium i uruchomiłem go. Po uruchomieniu serwera selenu problem zniknął i wszystko działało dobrze.

Zobacz to: http://coding-issues.blogspot.in/2012/11/no-connection-could-be-made-because.html

Ravichandra
źródło
1
Pytanie nie wspominało nic o serwerze selenu.
Geoff Dawdy
1
@GeoffDawdy To tylko kolejny przykład z powodu nr 1 odpowiedzi Willa - wspiera naukę poprzez powtarzanie ;-)
Wolf
4

Przejdź do projektu WCF - właściwości -> Sieć-> debuggery -> odznacz pole wyboru

Włącz edycję i kontynuuj

Rajat
źródło
10
Co to robi?
Wouter Vanherck,
3

Miałem ten sam błąd z moją usługą WCF przy użyciu powiązania Net TCP, ale w moim przypadku problem został rozwiązany po uruchomieniu poniższych usług.

Net.Pipe.Listener.Adapter

Net.TCP.Listener.Adapter

Usługa udostępniania portów Net.Tcp

Kiru
źródło
1
Genialnie, wyciągałam włosy. Przypis: Uruchomienie usługi WCF NET.TCP na komputerze z systemem Windows 7 nie wymagało uruchomienia tych 3 usług. Jednak działające w systemie Windows Server (testowałem w 2003 i 2008 r.) Te usługi musiały być uruchomione, aby WCF mógł je poprawić.
smirkingman
3

Jest to naprawdę specyficzne, ale jeśli pojawi się ten błąd po próbie połączenia z bazą danych za pomocą mongo, działało dla mnie uruchomienie mongod.exe przed uruchomieniem mongo.exe, a następnie połączenie działało dobrze. Mam nadzieję, że to komuś pomoże.

Script Kitty
źródło
3

Wystąpił ten sam błąd, ponieważ gdy serwer i klient działają na tym samym komputerze, klient potrzebuje lokalnego adresu IP serwera, a nie publicznego adresu IP, aby komunikować się z serwerem, potrzebujesz publicznego adresu IP tylko w przypadku, gdy serwer i klient działają na osobnym komputerze, więc użyj lokalnego adresu IP w programie klienckim do łączenia się z serwerem Lokalny adres IP można znaleźć za pomocą tej metody.

 public static string Getlocalip()
    {
        try
        {
            IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
            return localIPs[7].ToString();
        }
        catch (Exception)
        {

            return "null";
        }

    }

źródło
To był mój scenariusz: jako alternatywną poprawkę, jeśli wskazujesz nazwę hosta, która przekształca się w publiczny adres IP, możesz również edytować plik HOST swojego serwera i dodać regułę kierującą twoją nazwę hosta do 127.0.0.1.
Darkseal
3

Wystąpił ten błąd w aplikacji korzystającej z AppFabric. Wskazówką było znalezienie DataCacheExceptionśladu stosu. Aby sprawdzić, czy jest to dla Ciebie problem, uruchom następujące polecenie PowerShell:

@("AppFabricCachingService","RemoteRegistry") | % { get-service $_ }

Jeśli którakolwiek z tych dwóch usług zostanie zatrzymana, pojawi się ten błąd.

John Zabroski
źródło
Dzięki. Na marginesie, dla odniesienia w przyszłości do mnie i innych, wydawało się , że działało, kiedy uruchomiłem usługę, ale aplikacja miała wiele powolności i w końcu rzuciłem (d'uh) tę usługę na drugim serwerze w AppFabric klaster nie został włączony.
Mark
2

Cóż, po raz pierwszy otrzymałem ten błąd na Windows 8 64-bit, i okazuje się, że mój plik my.ini został zresetowany, a plik bin / mysqld został usunięty, między innymi w "Program Files/MySQL/MySQL Server 5.6"folderze.

Aby to naprawić, musiałem ponownie uruchomić instalator MySQL, instalując tylko serwer, i skopiować najnowszą wersję pliku my.ini "ProgramData/MySQL/MySQL Server 5.6", o nazwie my_2014-03-28T15-51-20.iniw moim przypadku (nie wiem, jak i dlaczego to tam ostatnio skopiowano) z powrotem w "Program Files/MySQL/MySQL Server 5.6".

Jedyną zmianą w systemie od czasu działania MySQL była instalacja Traktora 2 i karty dźwiękowej Traktor Audio 2 firmy Native Instruments, co tak naprawdę nie powinno być przyczyną tego problemu, a nikt inny nie używał tego systemu poza mną. Jeśli ktoś ma jakąś wskazówkę, uprzejmie byłoby to skomentować, aby temu zapobiec dla mnie i każdego, kto to spotkał.

J Griffiths
źródło
Miałem ten sam problem i włamanie do rozwiązania tego problemu polega na zatrzymaniu usług MyQsl za pośrednictwem services.msc. Jednak MySql jest później niedostępny, więc musisz ponownie uruchomić komputer, aby mieć go ponownie.
Gabriel
2

Dla odniesienia do usługi w ramach rozwiązania.

  1. Uruchom ponownie stację roboczą

  2. Odbuduj swoje rozwiązanie

  3. Zaktualizuj odwołanie do usługi w projekcie WCFclient

W tym momencie otrzymałem wiadomość (Windows 7), aby umożliwić dostęp do systemu. Następnie odwołanie do usługi zostało poprawnie zaktualizowane bez błędów.

Gary Kindel
źródło
2

Chciałbym udostępnić tę odpowiedź, którą znalazłem, ponieważ przyczyną problemu nie była zapora ogniowa lub proces nie nasłuchuje poprawnie, to był przykładowy kod udostępniony przez Microsoft.

https://msdn.microsoft.com/en-us/library/system.net.sockets.socket%28v=vs.110%29.aspx

Zaimplementowałem tę funkcję prawie dokładnie tak, jak napisano, ale tak się stało, że dostałem ten błąd:

2016-01-05 12: 00: 48,075 [10] BŁĄD - Błąd: System.Net.Sockets.SocketExocket (0x80004005): Nie można nawiązać połączenia, ponieważ maszyna docelowa aktywnie go odmawia [fe80 :: caa: 745: a1da: e6f1% 11]: 4080

Ten kod mówi, że gniazdo jest podłączone, ale nie pod poprawnym adresem IP, który jest rzeczywiście potrzebny do prawidłowej komunikacji. (Dostarczone przez Microsoft)

private static Socket ConnectSocket(string server, int port)
    {
        Socket s = null;
        IPHostEntry hostEntry = null;

        // Get host related information.
        hostEntry = Dns.GetHostEntry(server);

        // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
        // an exception that occurs when the host IP Address is not compatible with the address family
        // (typical in the IPv6 case).
        foreach(IPAddress address in hostEntry.AddressList)
        {
            IPEndPoint ipe = new IPEndPoint(address, port);
            Socket tempSocket = 
                new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            tempSocket.Connect(ipe);

            if(tempSocket.Connected)
            {
                s = tempSocket;
                break;
            }
            else
            {
                continue;
            }
        }
        return s;
    }

Przepisałem kod, aby użyć pierwszego prawidłowego adresu IP, jaki znajdzie. Martwię się tylko o korzystanie z tego IPV4, ale działa on z localhost 127.0.0.1 i faktycznie adresem IP twojej karty sieciowej, gdzie przykład podany przez Microsoft nie powiódł się!

    private Socket ConnectSocket(string server, int port)
    {
        Socket s = null;

        try
        {
            // Get host related information.
            IPAddress[] ips;
            ips = Dns.GetHostAddresses(server);

            Socket tempSocket = null;
            IPEndPoint ipe = null;

            ipe = new IPEndPoint((IPAddress)ips.GetValue(0), port);
            tempSocket = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            Platform.Log(LogLevel.Info, "Attempting socket connection to " + ips.GetValue(0).ToString() + " on port " + port.ToString());
            tempSocket.Connect(ipe);

            if (tempSocket.Connected)
            {
                s = tempSocket;
                s.SendTimeout = Coordinate.HL7SendTimeout;
                s.ReceiveTimeout = Coordinate.HL7ReceiveTimeout;
            }
            else
            {
                return null;
            }

            return s;
        }
        catch (Exception e)
        {
            Platform.Log(LogLevel.Error, "Error creating socket connection to " + server + " on port " + port.ToString());
            Platform.Log(LogLevel.Error, "The error is: " + e.ToString());
            if (g_NoOutputForThreading == false)
                rtbResponse.AppendText("Error creating socket connection to " + server + " on port " + port.ToString());
            return null;
        }
    }
Jake
źródło
2

W moim przypadku niektóre domeny działały, a niektóre nie. Dodanie odwołania do adresu URL serwera proxy mojej organizacji w pliku web.config naprawiło problem.

<system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy proxyaddress="http://proxy.my-org.com/" usesystemdefault="True"/>
    </defaultProxy>
</system.net>
James Lawruk
źródło
1

Ten błąd wystąpił w przypadku odwoływania się do usług znajdujących się na WCFHost z mojej warstwy internetowej. To, co zadziałało dla mnie, może nie dotyczyć wszystkich, ale pozostawiam tę odpowiedź tym, którzy mogą. Numer portu mojego WCFHost został losowo zaktualizowany przez IIS, po prostu musiałem zaktualizować końcowe trasy do referencji svc w mojej konfiguracji internetowej. Problem rozwiązany.

Mądry gość
źródło
1

W moim scenariuszu mam dwie aplikacje:

  • App1
  • App2

Założenie : aplikacja 1 powinna słuchać działań aplikacji 2 na porcie 5000

Błąd : uruchomienie aplikacji App1 i próba odsłuchania nieistniejącego miasta-widma powoduje błąd

Rozwiązanie : Najpierw uruchom aplikację App2, a następnie spróbuj słuchać za pomocą aplikacji App1

przydatne
źródło
1

Jeszcze jedna możliwość -

Upewnij się, że próbujesz otworzyć ten sam adres IP, na którym słuchasz. Moja aplikacja serwera nasłuchiwała adresu IP komputera hosta za pomocą IPv6, ale klient próbował połączyć się z adresem IPv4 komputera hosta.

Steve Mol
źródło
1

W moim przypadku było to spowodowane błędnym wdrożeniem, w którym nie dokonano ustawienia w pliku web.config.

Kolega wyjaśnił, że adres IP w komunikacie o błędzie reprezentuje hosta lokalnego.

Kiedy poprawiłem web.config, wtedy użyłem poprawnego adresu URL, aby wykonać wywołania serwera i działało.

Myślałem, że opublikuję to na wypadek, gdyby to mogło komuś pomóc.

arame3333
źródło
0

Używając WampServer 64bit na Windows 7 Home Premium 64bit napotkałem dokładnie ten problem. Po wielu godzinach eksperymentów stało się jasne, że wszystko, co było potrzebne, znajdowało się w my.ini, aby skomentować jedną linię. Potem działało dobrze.

skomentował 1 wiersz socket = mysql

Jeśli umieścisz swoje stare / dane / pliki w odpowiedniej lokalizacji, WampServer zaakceptuje je wszystkie oprócz folderu / mysql /, który zapisuje. Więc po prostu zaimportowałem kopię zapasową danych / mysql / użytkownika z mojego wcześniejszego środowiska programistycznego i uruchomiłem FLUSH PRIVILEGES w oknie SQL phpMyAdmin. Działa świetnie. Coś musi być nie tak, ponieważ nie powinno być tak łatwo.

użytkownik1695595
źródło
0

Często występował ten problem. Odkryłem, że SQL Server Agentusługa nie działa. Po ręcznym uruchomieniu usługi zostało naprawione. Dokładnie sprawdź, czy usługa jest uruchomiona:

  1. Uruchom monit, wpisz services.msci naciśnij Enter
  2. Znajdź nazwę usługi - SQL Server Agent( nazwa wystąpienia )

Jeśli SQL Server Agentnie jest uruchomiony, kliknij dwukrotnie usługę, aby otworzyć okno właściwości. Następnie kliknij Startprzycisk. Mam nadzieję, że to komuś pomoże.

gmsi
źródło
Dlaczego agent SQL Server miałby mieć coś wspólnego z IIS? Może miałeś na myśli usługę WWW?
Nick.McDermaid
0

Natrafiłem na ten błąd i trochę czasu go rozwiązałem. W moim przypadku miałem https i net.tcp skonfigurowane jako powiązania IIS na tym samym porcie. Oczywiście nie możesz mieć dwóch rzeczy na tym samym porcie. Użyłem polecenia netstat -ap tcp, aby sprawdzić, czy coś nasłuchuje na tym porcie. Nikt nie słuchał. Usunięcie niepotrzebnego wiązania (w moim przypadku https) rozwiązało mój problem.

Alex
źródło
0

To był głupi problem z mojej strony, dodałem domyślną wersję proxy do mojego web.config, aby przechwycić ruch w Fiddler, a potem zapomniałem go usunąć!

Kik
źródło
0

Istnieje usługa o nazwie „SQL Server Browser”, która zapewnia klientom informacje o połączeniu z SQL Server.

W moim przypadku żadne z istniejących rozwiązań nie działało, ponieważ ta usługa nie była uruchomiona. Wróciłem i wszystko wróciło do perfekcji.

Talha Imam
źródło
0

Dzisiaj miałem do czynienia z tym problemem. Mój był Asp.Net Core API i używa go Postgresqljako bazy danych. Skonfigurowaliśmy tę bazę danych jako kontener Docker. Pierwszym krokiem było sprawdzenie, czy mogę uzyskać dostęp do bazy danych, czy nie. Aby to zrobić, szukałem na PgAdminpoczątku, ponieważ skonfigurowałem to samo. Kliknięcie wynikowej aplikacji spowoduje przekierowanie do strony http://127.0.0.1:23722/browser/ . Tam możesz spróbować uzyskać dostęp do bazy danych w menu po lewej stronie. Dla mnie pojawiał się błąd jak na poniższym obrazku.

wprowadź opis zdjęcia tutaj

Wprowadź hasło i spróbuj uzyskać dostęp do niego, czy nie. Dla mnie to nie działało. Ponieważ jest to kontener Docker, postanowiłem zrestartować pulpit Docker, aby to zrobić, kliknij prawym przyciskiem myszy ikonę dokowania na pasku zadań i kliknij polecenie Uruchom ponownie.

Raz po ponownym uruchomieniu dokera mogłem się zalogować i zobaczyć bazę danych, a także błąd zniknął po ponownym uruchomieniu aplikacji w programie Visual Studio .

Mam nadzieję, że to pomoże.

Sibeesh Venu
źródło
0

może to być spowodowane problemami z autoryzacją; tak było w moim przypadku. Jeśli masz na przykład: [Authorize("WriteAccess")]lub [Authorize("ReadAccess")]na górze funkcji kontrolera, spróbuj je skomentować.

eva
źródło
0

Dla mnie chciałem uruchomić mongo w skorupce (bez względu na dokładny kontekst pytania, ale mając ten sam komunikat o błędzie przed uruchomieniem mongo w skorupce)

Proces „Usługa MongoDB” nie był uruchomiony w Usługach

Uruchom cmd jako Administrator i wpisz,

net start MongoDB

Aby zobaczyć, jak MongoDB działa i po prostu wpisz mongo, w cmd poda szczegóły wersji Mongo i adres URL połączenia Mongo

Siva Rahul
źródło
0

Właśnie sobie z tym poradziłem ...

wprowadź opis zdjęcia tutaj

Tutaj, po mojej stronie, mam 2 oddzielne rozwiązania Visual Studio (.sln) ... otworzyłem każde z nich we własnej instancji Visual Studio.

Rozwiązanie 2 wywołuje kod rozwiązania 1. Problem związany był z portem przypisanym do rozwiązania 1. Musiałem zmienić port w rozwiązaniu 1 na inny, a następnie rozwiązanie 2 znów zaczęło działać. Sprawdź więc port przypisany do twojego projektu.

Leniel Maccaferri
źródło