Es konnte keine Verbindung hergestellt werden, da der Zielcomputer diese aktiv abgelehnt hat.


260

Manchmal erhalte ich die folgende Fehlermeldung, während ich HttpWebRequest für einen WebService ausführte. Ich habe meinen Code auch unten kopiert.


System.Net.WebException: Es kann keine Verbindung zum Remote-Server hergestellt werden ---> System.Net.Sockets.SocketException: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies aktiv abgelehnt hat. 127.0.0.1:80
   bei System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, SocketAddress socketAddress)
   bei System.Net.Sockets.Socket.InternalConnect (EndPoint remoteEP)
   at System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, Socket s4, Socket s6, Socket & Socket, IPAddress & Adresse, ConnectSocketState-Status, IAsyncResult asyncResult, Int32-Timeout, Ausnahme & Ausnahme)
   --- Ende der inneren Ausnahmestapelverfolgung ---
   bei 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();

1
Ich bin gerade auf diese Verbindung zu Azure gestoßen. Es ist ziemlich sicher zu sagen, dass der Zielcomputer verfügbar ist. Das Problem blieb nach dem Neustart und dem Zurücksetzen des Routers bestehen. Seltsam. Problem? Fiddler hatte nicht richtig heruntergefahren. Das System hatte immer noch damit gerechnet, den Verkehr durch Fiddler zu leiten, und das war der 'Zielcomputer', der nicht verfügbar war.
Vok

Könnte dies etwas mit den verwendeten Steckdosen zu tun haben? Schließen Sie sie am Ausgang?
George Sp

Antworten:


204

Wenn dies immer geschieht, bedeutet dies wörtlich, dass der Computer vorhanden ist, aber keine Dienste auf dem angegebenen Port empfangsbereit sind oder dass eine Firewall Sie stoppt.

Wenn es gelegentlich vorkommt - Sie haben das Wort "manchmal" verwendet - und der Wiederholungsversuch erfolgreich ist, liegt dies wahrscheinlich daran, dass der Server über einen vollständigen "Rückstand" verfügt.

Wenn Sie darauf warten, acceptan einem Listening-Socket bearbeitet zu werden, werden Sie in einen Rückstand versetzt. Dieser Rückstand ist endlich und recht kurz - Werte von 1, 2 oder 3 sind nicht ungewöhnlich - und daher kann das Betriebssystem Ihre Anfrage nach dem "Akzeptieren" möglicherweise nicht in die Warteschlange stellen.

Das Backlog ist ein Parameter der listenFunktion - alle Sprachen und Plattformen haben in dieser Hinsicht grundsätzlich dieselbe API, auch die C # 1 . Dieser Parameter kann häufig konfiguriert werden, wenn Sie den Server steuern, und wird wahrscheinlich aus einer Einstellungsdatei oder der Registrierung gelesen. Untersuchen Sie, wie Sie Ihren Server konfigurieren.

Wenn Sie den Server geschrieben haben, hat das Akzeptieren Ihres Sockets möglicherweise eine starke Verarbeitung, und dies kann besser in einen separaten Worker-Thread verschoben werden, sodass Ihr Akzeptieren immer bereit ist, Verbindungen zu empfangen. Es gibt verschiedene Architekturoptionen, die Sie untersuchen können, um das Einreihen in die Warteschlange und das sequentielle Verarbeiten von Clients zu verringern.

Unabhängig davon, ob Sie das Server-Backlog erhöhen können, benötigen Sie eine Wiederholungslogik in Ihrem Client-Code, um dieses Problem zu lösen. Selbst bei einem langen Backlog erhält der Server zu diesem Zeitpunkt möglicherweise viele andere Anforderungen an diesen Port.

Es gibt eine seltene Möglichkeit, dass ein NAT-Router diesen Fehler ausgibt, wenn seine Ports für Zuordnungen erschöpft sind. Ich denke, wir können diese Möglichkeit als zu langwierig verwerfen, da der Router vor Erschöpfung über 64K gleichzeitige Verbindungen zu derselben Zieladresse / demselben Port verfügt.


Ja, ich bekomme es gelegentlich, nicht immer. Ich glaube nicht, dass der Grund eine Firewall oder etwas anderes ist, aber Rückstand kann der Grund für dieses Problem sein. Gibt es überhaupt eine Möglichkeit, dieses Problem zu lösen?
hsnkvk

@hsnkvk; Der richtige robuste Weg besteht darin, dass der Client eine Wiederholungsschleife hat. Antwort entsprechend aktualisiert
Will

@Wille; Ich habe bereits einen iterationCount und versuche es wiederholt, wenn es fehlschlägt. :(
hsnkvk

1
Das ist es. Schlecht entworfen / konfiguriert ist, wie Sie sagten, ziemlich vage. Meinen Sie mit Code-Inspektion, dass Sie den Code anzeigen möchten, der den Webservice aufruft? Ich habe es nicht gepostet, da es genau der gleiche Code ist wie der, der den ersten Webservice aufruft und der perfekt funktioniert. Gibt es eine Eigenschaft auf dem Server, die über web.config konfiguriert werden kann und sich auf die zweite Webanwendung auswirken kann?
Amith George

9
Der 127.0.0.1:80 deutet darauf hin, dass sich der Webdienst auf dem lokalen Computer befindet, was Netzwerkprobleme unwahrscheinlich macht. Sehr wahrscheinlich ist, dass der Webdienst beim Testen langsamer gestartet wurde als die Clientanwendung. Das Hinzufügen von Wiederholungslogik ist definitiv der richtige Weg.
Martin Brown

31

Der wahrscheinlichste Grund ist eine Firewall.

Dieser Artikel enthält eine Reihe von Gründen, die für Sie nützlich sein können.

Mögliche Gründe für den Artikel könnten sein:

  • FTP-Servereinstellungen
  • Software- / Personal Firewall-Einstellungen
  • Mehrere Software / Personal Firewalls
  • Antiviren Software
  • LSP-Schicht
  • Router-Firmware
  • Computer ausgeschaltet
  • Computer nicht angeschlossen
  • Geiger

9
Ich weiß, dass dies alt ist, aber Sie könnten Fiddler zu dieser Liste hinzufügen. Durch das Entfernen des Geigers während des Starts der App und das erneute Anbringen funktionierten meine Sockets ordnungsgemäß.
ps2goat

1
Daumen hoch für Fiddler
Kalin Krastev

3
Ich hatte Fiddler auf dem Dev-Computer installiert und dies verursachte dieses Problem. Ich hatte Fiddler nicht geöffnet, als ich dieses spezielle Projekt ausführte, und bekam den Fehler. Als ich Fiddler öffnete, während ich das Projekt leitete, funktionierte es
Peter PitLock

16

Das ist mir auch passiert. Manchmal, wenn ich mein Projekt öffne, tauchte dieser Fehler auf, der frustrierend war. Das Problem war, dass sich die Portnummer des Webdienstes manchmal unerwartet änderte.

Dieses Problem tritt normalerweise auf, wenn Sie mehr als eine Kopie des Projekts haben

Mein Projekt rief den Webdienst mit einer bestimmten Portnummer auf, die ich in der Datei Web.Config meiner Hauptprojektdatei zugewiesen hatte. Da sich die Portnummer unerwartet änderte, konnte der Browser den Webdienst nicht finden und diesen Fehler auslösen.

Ich habe dieses Problem gelöst, indem ich die folgenden Schritte ausgeführt habe: (Visual Studio 2010)

Gehen Sie zu Eigenschaften des Web serviceProjekts -> klicken Sie auf die Registerkarte Web -> Im Abschnitt Server -> Überprüfen Sie den spezifischen Port und weisen Sie dann den zu, standard port numberüber den Ihr Hauptprojekt den Webdienst aufruft.

Ich hoffe das wird das Problem lösen.

Prost :)


2
Das war für mich nicht allgemein bekannt. Ich war verdammt verwirrt darüber, warum mein Fehler LocalHost:2532für mich angegeben wurde. Es stellte sich heraus, dass dies vom Vorbesitzer in dem von Ihnen angegebenen Bereich so festgelegt wurde. Jetzt, da dieses Geheimnis klar ist, macht es einige andere Dinge weniger mysteriös. Vielen Dank!
Suamere

7

Ich denke, Sie müssen Ihre Proxy-Einstellungen in "Internetoptionen" überprüfen. Wenn Sie Proxy- / IP-Anwendungen ausblenden verwenden, kann dieses Problem auftreten.


Ist dies ein typisches Windows 7-Problem? Unterscheiden sich einige Standardeinstellungen von anderen Windows-Versionen?
Wolf

@ Wolf, ich denke das ist kein Windows Problem. Es kann sich jedoch um ein Verbindungsproblem handeln.
Isaeid

Gehen Sie zu IE -> Internetoptionen -> Registerkarte Verbindungen -> LAN-Einstellungen und deaktivieren Sie "Proxyserver für Ihr LAN verwenden". Dies hat das Problem für mich behoben.
Mike Kuenzi

In meine Anwendung habe ich eine Proxy-Option (WPAD) aufgenommen, da Benutzer diese möglicherweise benötigen. Ich nicht. Ich habe es jedoch auf meinem Testcomputer aktiviert, und das würde den Fehler verursachen. Wenn Sie also keinen Proxy verwenden müssen, definieren Sie möglicherweise keinen in Ihrer Anwendung.
mächtige

4

Ich hatte das gleiche Problem. Das Problem ist, dass ich den Selenserver nicht gestartet habe. Ich habe den Selenserver heruntergeladen und gestartet. Nach dem Start des Selen-Servers ist das Problem behoben und alles hat einwandfrei funktioniert.

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


1
Die Frage erwähnte nichts über Selenserver.
Geoff Dawdy

1
@GeoffDawdy Es ist nur ein weiteres Beispiel für Grund Nr. 1 von Wills Antwort - unterstützt das Lernen durch Wiederholung ;-)
Wolf

4

Gehen Sie zu Ihrem WCF-Projekt - Eigenschaften -> Netz -> Debugger -> Deaktivieren Sie das Kontrollkästchen

Aktivieren Sie Bearbeiten und Weiter


10
Was macht das?
Wouter Vanherck

3

Ich hatte den gleichen Fehler mit meinem WCF-Dienst unter Verwendung der Net TCP-Bindung, der jedoch in meinem Fall nach dem Starten der folgenden Dienste behoben wurde.

Net.Pipe.Listener.Adapter

Net.TCP.Listener.Adapter

Net.Tcp Port Sharing Service


1
Genial, ich zog mir die Haare aus. Fußnote: Für das Ausführen meines WCF NET.TCP-Dienstes auf einem Windows 7-PC mussten diese drei Dienste nicht ausgeführt werden. Unter Windows Server (ich habe 2003 und 2008 getestet) mussten diese Dienste jedoch ausgeführt werden, damit WCF sie korrigieren konnte.
Grinsender

3

Dies ist wirklich spezifisch, aber wenn Sie diesen Fehler erhalten, nachdem Sie versucht haben, mit mongo eine Verbindung zu einer Datenbank herzustellen, hat mongod.exe vor dem Ausführen von mongo.exe ausgeführt, und dann hat die Verbindung einwandfrei funktioniert. Hoffe das hilft jemandem.


3

Ich habe denselben Fehler festgestellt, da der Client, wenn Ihr Server und Ihr Client auf demselben Computer ausgeführt werden, eine lokale IP-Adresse des Servers und keine öffentliche IP-Adresse für die Kommunikation mit dem Server benötigt. Sie benötigen eine öffentliche IP-Adresse nur für den Fall, dass Server und Client auf einem separaten Computer ausgeführt werden. Verwenden Sie daher die lokale IP-Adresse im Client-Programm zur Verbindung mit dem Server Lokale IP-Adresse kann mit dieser Methode gefunden werden.

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

            return "null";
        }

    }

Das war mein Szenario: Wenn Sie alternativ auf einen Hostnamen verweisen, der in eine öffentliche IP-Adresse aufgelöst wird, möchten Sie möglicherweise auch die HOST-Datei Ihres Servercomputers bearbeiten und eine Regel hinzufügen, die Ihren Hostnamen an 127.0.0.1 weiterleitet.
Darkseal

3

Ich habe diesen Fehler in einer Anwendung erhalten, die AppFabric verwendet. Der Hinweis war ein DataCacheExceptionin der Stapelspur. Führen Sie den folgenden PowerShell-Befehl aus, um festzustellen, ob dies das Problem für Sie ist:

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

Wenn einer dieser beiden Dienste gestoppt wird, wird dieser Fehler angezeigt.


Vielen Dank. Als Randnotiz, um später auf mich und andere Bezug zu nehmen, schien es zu funktionieren, als ich den Dienst startete, aber die App hatte alle Arten von Langsamkeit und ich habe schließlich den Dienst auf dem anderen Server in der AppFabric geändert Cluster war nicht eingeschaltet.
Mark

2

Nun, ich habe diesen Fehler heute unter Windows 8 64-Bit aus heiterem Himmel zum ersten Mal erhalten, und es stellte sich heraus, dass meine Datei my.ini zurückgesetzt und die Datei bin / mysqld unter anderem gelöscht wurde im "Program Files/MySQL/MySQL Server 5.6"Ordner.

Um das Problem zu beheben, musste ich das MySQL-Installationsprogramm erneut ausführen, nur den Server installieren und eine aktuelle Version der my.ini-Datei kopieren "ProgramData/MySQL/MySQL Server 5.6", die my_2014-03-28T15-51-20.iniin meinem Fall benannt wurde (ich weiß nicht, wie oder warum diese so kürzlich dort kopiert wurde). zurück in "Program Files/MySQL/MySQL Server 5.6".

Die einzige Änderung am System seit MySQL war die Installation von Traktor 2 von Native Instruments und einer Soundkarte von Traktor Audio 2, die dieses Problem eigentlich nicht hätte verursachen dürfen, und außer mir hat niemand anderes das System verwendet. Wenn jemand eine Ahnung hat, wäre es nett von Ihnen, einen Kommentar abzugeben, um dies für mich und alle anderen, die darauf gestoßen sind, zu verhindern.


Ich hatte das gleiche Problem und muss es nur lösen, indem ich die MyQsl-Dienste über services.msc stoppe. Danach ist MySql jedoch nicht mehr verfügbar, sodass Sie den Computer neu starten müssen, um ihn wieder zu haben.
Gabriel

2

Als Servicereferenz innerhalb einer Lösung.

  1. Starten Sie Ihre Workstation neu

  2. Erstellen Sie Ihre Lösung neu

  3. Aktualisieren Sie die Dienstreferenz im WCFclient-Projekt

Zu diesem Zeitpunkt erhielt ich eine Nachricht (Windows 7), um den Systemzugriff zu ermöglichen. Dann wurde die Dienstreferenz ohne Fehler ordnungsgemäß aktualisiert.


2

Ich möchte diese Antwort, die ich gefunden habe, weitergeben, da die Ursache des Problems nicht die Firewall oder der Prozess war, der nicht richtig abhört. Es war das von Microsoft verwendete Codebeispiel, das ich verwendet habe.

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

Ich habe diese Funktion fast genau wie geschrieben implementiert, aber was passiert ist, ist, dass ich diesen Fehler habe:

2016-01-05 12: 00: 48,075 [10] FEHLER - Der Fehler lautet: System.Net.Sockets.SocketException (0x80004005): Es konnte keine Verbindung hergestellt werden, da der Zielcomputer diese aktiv abgelehnt hat [fe80 :: caa: 745: a1da: e6f1% 11]: 4080

Dieser Code würde sagen, dass der Socket angeschlossen ist, jedoch nicht unter der richtigen IP-Adresse, die für eine ordnungsgemäße Kommunikation tatsächlich benötigt wird. (Bereitgestellt von 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;
    }

Ich habe den Code neu geschrieben, um nur die erste gültige IP zu verwenden, die er findet. Ich bin nur mit IPV4 beschäftigt, das dies verwendet, aber es funktioniert mit localhost, 127.0.0.1, und der tatsächlichen IP-Adresse Ihrer Netzwerkkarte, bei der das von Microsoft bereitgestellte Beispiel fehlgeschlagen ist!

    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;
        }
    }

2

In meinem Fall funktionierten einige Domains, andere nicht. Das Hinzufügen eines Verweises auf die Proxy-URL meiner Organisation in meiner web.config hat das Problem behoben.

<system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy proxyaddress="http://proxy.my-org.com/" usesystemdefault="True"/>
    </defaultProxy>
</system.net>

1

Ich habe diesen Fehler von Referenzierungsdiensten auf einem WCFHost von meiner Webschicht erhalten. Was für mich funktioniert hat, gilt vielleicht nicht für alle, aber ich überlasse diese Antwort denen, die es mögen. Die Portnummer für meinen WCFHost wurde zufällig von IIS aktualisiert. Ich musste lediglich die Endrouten zu den SVC-Referenzen in meiner Webkonfiguration aktualisieren. Problem gelöst.


1

In meinem Szenario habe ich zwei Anwendungen:

  • App1
  • App2

Annahme : App1 sollte die Aktivitäten von App2 auf Port 5000 abhören

Fehler : Das Starten von App1 und der Versuch, eine nicht vorhandene Geisterstadt anzuhören, führt zu dem Fehler

Lösung : Starten Sie zuerst App2 und versuchen Sie dann, mit App1 zuzuhören


1

Noch eine Möglichkeit -

Stellen Sie sicher, dass Sie versuchen, dieselbe IP-Adresse zu öffnen, an der Sie gerade zuhören. Meine Server-App hat die IP-Adresse des Host-Computers mithilfe von IPv6 abgehört, aber der Client hat versucht, eine Verbindung über die IPv4-Adresse des Host-Computers herzustellen.


1

In meinem Fall wurde dies durch eine fehlerhafte Bereitstellung verursacht, bei der keine Einstellung in meiner web.config vorgenommen wurde.

Ein Kollege erklärte, dass die IP-Adresse in der Fehlermeldung den lokalen Host darstellt.

Als ich die web.config korrigierte, verwendete ich die richtige URL, um die Serveraufrufe zu tätigen, und es funktionierte.

Ich dachte, ich würde dies posten, falls es jemandem helfen könnte.


0

Bei Verwendung von WampServer 64bit unter Windows 7 Home Premium 64bit ist genau dieses Problem aufgetreten. Nach stundenlangem Experimentieren stellte sich heraus, dass in my.ini nur eine Zeile auskommentiert werden musste. Dann hat es gut funktioniert.

auskommentiert 1 Zeile Socket = MySQL

Wenn Sie Ihre alten / data / -Dateien an der entsprechenden Stelle ablegen, akzeptiert WampServer alle bis auf den Ordner / mysql /, den es überschreibt. Also habe ich einfach eine Sicherungskopie der / mysql / user-Daten aus meiner vorherigen Entwicklungsumgebung importiert und FLUSH PRIVILEGES in einem phpMyAdmin SQL-Fenster ausgeführt. Funktioniert super. Irgendwas muss falsch sein, weil es nicht so einfach sein sollte.


0

Ich hatte dieses Problem oft. Ich habe festgestellt, dass der SQL Server AgentDienst nicht ausgeführt wird. Nachdem ich den Dienst manuell gestartet hatte, wurde er behoben. Überprüfen Sie noch einmal, ob der Dienst ausgeführt wird oder nicht:

  1. Führen Sie die Eingabeaufforderung aus, geben Sie ein services.mscund drücken Sie die Eingabetaste
  2. Suchen Sie den Dienstnamen - SQL Server Agent( Instanzname )

Wenn SQL Server Agentes nicht ausgeführt wird, doppelklicken Sie auf den Dienst, um das Eigenschaftenfenster zu öffnen. Klicken Sie dann auf die StartSchaltfläche. Hoffe es wird jemandem helfen.


Warum sollte der SQL Server-Agent etwas mit IIS zu tun haben? Vielleicht meinten Sie den WWW-Dienst?
Nick.McDermaid

0

Ich bin auf diesen Fehler gestoßen und habe einige Zeit gebraucht, um ihn zu beheben. In meinem Fall hatte ich https und net.tcp als IIS-Bindungen an demselben Port konfiguriert. Offensichtlich können Sie nicht zwei Dinge am selben Port haben. Ich habe den Befehl netstat -ap tcp verwendet, um zu überprüfen, ob an diesem Port etwas lauscht. Es hörte niemand zu. Das Entfernen unnötiger Bindungen (in meinem Fall https) hat mein Problem behoben.


0

Es war ein dummes Problem auf meiner Seite, ich hatte meiner web.config einen Standardproxy hinzugefügt, um den Verkehr in Fiddler abzufangen, und dann vergessen, ihn zu entfernen!


0

Es gibt einen Dienst namens "SQL Server Browser", der Clients SQL Server-Verbindungsinformationen bereitstellt.

In meinem Fall funktionierte keine der vorhandenen Lösungen, da dieser Dienst nicht ausgeführt wurde. Ich nahm es wieder auf und alles funktionierte wieder perfekt.


0

Ich war heute mit diesem Problem konfrontiert. Meins war Asp.Net Core API und es wird Postgresqlals Datenbank verwendet. Wir haben diese Datenbank als Docker-Container konfiguriert. Der erste Schritt war also zu überprüfen, ob ich auf die Datenbank zugreifen kann oder nicht. Dazu habe ich zu PgAdminBeginn gesucht, da ich das gleiche konfiguriert habe. Wenn Sie auf die resultierende Anwendung klicken, werden Sie zu http://127.0.0.1:23722/browser/ weitergeleitet . Dort können Sie im linken Menü versuchen, auf Ihre Datenbank zuzugreifen. Bei mir wurde ein Fehler wie im folgenden Bild angezeigt.

Geben Sie hier die Bildbeschreibung ein

Geben Sie das Passwort ein und versuchen Sie, ob Sie darauf zugreifen können oder nicht. Bei mir hat es nicht funktioniert. Da es sich um einen Docker-Container handelt, habe ich beschlossen, meinen Docker-Desktop neu zu starten. Klicken Sie dazu mit der rechten Maustaste auf das Docker-Symbol in der Taskleiste und klicken Sie auf Neustart.

Einmal nach dem Neustart des Docker konnte ich mich anmelden und die Datenbank anzeigen. Außerdem war der Fehler beim Neustart der Anwendung in Visual Studio behoben .

Ich hoffe es hilft.


0

Dies kann an Autorisierungsproblemen liegen. das war bei mir der Fall. Wenn Sie zum Beispiel: [Authorize("WriteAccess")]oder [Authorize("ReadAccess")]oben in Ihren Controller-Funktionen haben, versuchen Sie, diese auskommentieren.


0

Für mich wollte ich den Mongo in der Shell starten (unabhängig vom genauen Kontext der Frage, aber mit der gleichen Fehlermeldung, bevor ich den Mongo überhaupt in der Shell starte)

Der Prozess 'MongoDB Service' wurde in Services nicht ausgeführt

Starten Sie cmd als Administrator und geben Sie Folgendes ein:

net start MongoDB

Um zu sehen, ob MongoDB aktiv ist, geben Sie einfach mongo ein. In cmd werden Details zur Mongo-Version und die Mongo-Verbindungs-URL angezeigt


0

Ich habe mich gerade damit konfrontiert ...

Geben Sie hier die Bildbeschreibung ein

Hier habe ich 2 separate Visual Studio-Lösungen (.sln) ... geöffnet, die jeweils in einer eigenen Visual Studio-Instanz geöffnet wurden.

Lösung 2 ruft den Code von Lösung 1 auf. Das Problem hing mit dem Port zusammen, der Lösung 1 zugewiesen war. Ich musste den Port auf Lösung 1 in einen anderen ändern, und dann funktionierte Lösung 2 wieder. Überprüfen Sie daher den Ihrem Projekt zugewiesenen Port.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.