Si je devais hasarder une supposition, le problème est probablement un problème de pare-feu. Vous devez vérifier les éléments suivants
nslookup
de l'hôte (ds048719.mlab.com) à partir de l'hôte d'application C#ping
de l'hôte (ds048719.mlab.com) à partir de l'hôte d'application C# (peut échouer, selon les paramètres de mLab)- Que votre adresse IP est sur liste blanche
- Testez la connexion à l'aide de Mongo Shell à partir du même hôte sur lequel l'application C# est en cours d'exécution. mLab propose des documents ici.
- Tester la connexion avec un
telnet
brut , par exempletelnet ds048719.mlab.com 48719
- Assurez-vous que vous utilisez la bonne
authenticationDatabase
(dans votre exemple, ceci est spécifié par le/db
), il s'agit généralement deadmin
mais peut être le nom de votre base de données si vous êtes sur une instance partagée.
Vous pouvez trouver la documentation sur la connexion avec le pilote C# dans la documentation du pilote MongoDB C#. Il est important de noter ce qui suit :
Le composant de base de données
Le composant de base de données est facultatif et est utilisé pour indiquer la base de données auprès de laquelle s'authentifier. Lorsque le composant de base de données n'est pas fourni, la base de données "admin" est utilisée.
mongodb://host:27017/mydb
Ci-dessus, la base de données du nom de "mydb" est l'endroit où les informations d'identification sont stockées pour l'application.
REMARQUE :
Certains pilotes utilisent le composant de base de données pour indiquer avec quelle base de données travailler par défaut. Le pilote .NET, bien qu'il analyse le composant de base de données, n'utilise pas le composant de base de données pour autre chose que l'authentification.
Enfin, je suggérerais à l'avenir d'obscurcir le nom d'hôte et le port lors de la publication sur SO. Bien que la sécurité par l'obscurité seule soit une mauvaise politique, elle ajoute certainement une couche de défense pour votre déploiement MongoDB.