Se dovessi azzardare un'ipotesi, il problema è molto probabilmente un problema di firewall. Dovresti controllare quanto segue
nslookup
dell'host (ds048719.mlab.com) dall'host dell'applicazione C#ping
dell'host (ds048719.mlab.com) dall'host dell'applicazione C# (potrebbe non riuscire, a seconda delle impostazioni di mLab)- Che il tuo indirizzo IP sia autorizzato
- Verifica la connessione utilizzando Mongo Shell dallo stesso host in cui è in esecuzione l'applicazione C#. mLab ha documenti qui.
- Verifica la connessione con un
telnet
non elaborato , ad esempiotelnet ds048719.mlab.com 48719
- Assicurati di utilizzare il
authenticationDatabase
corretto (nel tuo esempio, questo è specificato da/db
), di solito èadmin
ma potrebbe essere il nome del tuo database se ti trovi su un'istanza condivisa.
Puoi trovare i documenti sulla connessione con il driver C# in MongoDB C# Driver Docs. È importante notare quanto segue:
Il componente del database
Il componente database è facoltativo e viene utilizzato per indicare su quale database eseguire l'autenticazione. Quando il componente database non viene fornito, viene utilizzato il database "admin".
mongodb://host:27017/mydb
Sopra, il database con il nome di "mydb" è il luogo in cui sono archiviate le credenziali per l'applicazione.
NOTA:
Alcuni driver utilizzano il componente database per indicare con quale database lavorare per impostazione predefinita. Il driver .NET, mentre analizza il componente del database, non utilizza il componente del database per nient'altro che l'autenticazione.
Infine, suggerirei in futuro di offuscare il nome host e la porta durante la pubblicazione su SO. Sebbene la sicurezza attraverso l'oscurità da sola sia una cattiva politica, aggiunge sicuramente un livello di difesa per la tua distribuzione di MongoDB.