Si tuviera que aventurarme a adivinar, lo más probable es que el problema sea un problema de firewall. Debe verificar lo siguiente
nslookup
del host (ds048719.mlab.com) del host de la aplicación C#ping
del host (ds048719.mlab.com) del host de la aplicación C# (puede fallar, según la configuración de mLab)- Que su dirección IP esté en la lista blanca
- Pruebe la conexión con Mongo Shell desde el mismo host donde se ejecuta la aplicación C#. mLab tiene documentos aquí.
- Pruebe la conexión con un
telnet
sin formato , por ejemplo,telnet ds048719.mlab.com 48719
- Asegúrese de estar utilizando la
authenticationDatabase
correcta. (en su ejemplo, esto está especificado por/db
), suele seradmin
pero podría ser el nombre de su base de datos si está en una instancia compartida.
Puede encontrar los documentos sobre la conexión con el controlador C# en MongoDB C# Driver Docs. Es importante tener en cuenta lo siguiente:
El componente de base de datos
El componente de la base de datos es opcional y se usa para indicar contra qué base de datos se debe autenticar. Cuando no se proporciona el componente de la base de datos, se utiliza la base de datos "admin".
mongodb://host:27017/mydb
Arriba, la base de datos con el nombre de "mydb" es donde se almacenan las credenciales para la aplicación.
Algunos controladores utilizan el componente de base de datos para indicar con qué base de datos trabajar de manera predeterminada. El controlador .NET, mientras analiza el componente de la base de datos, no usa el componente de la base de datos para otra cosa que no sea la autenticación.
Finalmente, sugeriría en el futuro, ofuscar el nombre de host y el puerto al publicar en SO. Si bien la seguridad a través de la oscuridad por sí sola es una mala política, ciertamente agrega una capa de defensa para su implementación de MongoDB.