MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Zeitüberschreitung des MongoDB-C#-Treibers

Hier ist der wichtigste Teil Ihrer Fehlermeldung:

Client view of cluster state is
{  
   ClusterId: "1",
   ConnectionMode: "ReplicaSet",
   Type: "ReplicaSet",
   State: "Disconnected",
   Servers: [{  
      ServerId: {
         ClusterId: 1,
         EndPoint: "Unspecified/wsmongodb001:27017"
      },
      EndPoint: "Unspecified/wsmongodb001:27017",
      State: "Disconnected",
      Type: "Unknown",
      HeartbeatException: "[...] System.Net.Sockets.SocketException: No such host is known [...]"
   }]
}

Beachten Sie die "Kein solcher Host bekannt" Teil des Feldes HeartbeatException .

Ihr Replikatsatz ist mit Hostnamen anstelle von IP-Adressen konfiguriert. Anscheinend kann Ihre Clientanwendung wsmongodb001 nicht auflösen an eine IP-Adresse.

Sie müssen:

  1. Stellen Sie sicher, dass Ihr Replikatsatz betriebsbereit ist. Stellen Sie vom mongo aus manuell eine Verbindung zu einem der Server her Shell, führen Sie rs.status() aus und vergewissern Sie sich, dass es eine primäre und keine Fehler gibt.
  2. Stellen Sie sicher, dass alle Domänennamen, die in Ihrem Replikatsatz über rs.conf() konfiguriert sind sind für Ihre Client-App zugänglich. Wenn Sie sich nicht sicher sind, öffnen Sie einfach eine Eingabeaufforderung auf dem Computer, auf dem die App ausgeführt wird, und ping jeden Domainnamen.