Wenn ich eine Vermutung wagen müsste, handelt es sich höchstwahrscheinlich um ein Firewall-Problem. Sie sollten Folgendes überprüfen
nslookup
des Hosts (ds048719.mlab.com) vom C#-Anwendungshostping
des Hosts (ds048719.mlab.com) vom C#-Anwendungshost (kann abhängig von den Einstellungen von mlab fehlschlagen)- Dass Ihre IP-Adresse auf der weißen Liste steht
- Testen Sie die Verbindung mit der Mongo-Shell von demselben Host, auf dem die C#-Anwendung ausgeführt wird. mLab hat hier Dokumente.
- Testen Sie die Verbindung mit einem rohen
telnet
, zBtelnet ds048719.mlab.com 48719
- Stellen Sie sicher, dass Sie die richtige
authenticationDatabase
verwenden (In Ihrem Beispiel wird dies durch/db
angegeben ), ist dies normalerweiseadmin
könnte aber Ihr Datenbankname sein, wenn Sie sich auf einer gemeinsam genutzten Instanz befinden.
Sie finden die Dokumentation zum Herstellen einer Verbindung mit dem C#-Treiber in der MongoDB C#-Treiberdokumentation. Folgendes ist zu beachten:
Die Datenbankkomponente
Die Datenbankkomponente ist optional und wird verwendet, um anzugeben, gegen welche Datenbank authentifiziert werden soll. Wenn die Datenbankkomponente nicht bereitgestellt wird, wird die „admin“-Datenbank verwendet.
mongodb://host:27017/mydb
Oben ist die Datenbank mit dem Namen „mydb“ der Ort, an dem die Anmeldeinformationen für die Anwendung gespeichert werden.
HINWEIS:
Einige Treiber verwenden die Datenbankkomponente, um anzugeben, mit welcher Datenbank standardmäßig gearbeitet werden soll. Während der .NET-Treiber die Datenbankkomponente analysiert, verwendet er die Datenbankkomponente für nichts anderes als die Authentifizierung.
Schließlich würde ich in Zukunft vorschlagen, den Hostnamen und den Port zu verschleiern, wenn Sie an SO posten. Obwohl Sicherheit allein durch Unklarheit eine schlechte Richtlinie ist, fügt sie Ihrer MongoDB-Bereitstellung sicherlich eine Verteidigungsebene hinzu.