Om jag var tvungen att riskera en gissning är problemet troligen ett brandväggsproblem. Du bör kontrollera följande
nslookup
av värden (ds048719.mlab.com) från C# Application Hostping
för värden (ds048719.mlab.com) från C# Application Host (kan misslyckas, beroende på mLabs inställningar)- Att din IP-adress är vitlistad
- Testa anslutningen med Mongo Shell från samma värd där C#-applikationen körs. mLab har dokument här.
- Testa anslutningen med ett rått
telnet
, t.ex.telnet ds048719.mlab.com 48719
- Se till att du använder rätt
authenticationDatabase
(i ditt exempel specificeras detta av/db
), är detta vanligtvisadmin
men kan vara ditt databasnamn om du är på en delad instans.
Du kan hitta dokumenten om att ansluta till C#-drivrutinen i MongoDB C# Driver Docs. Det är viktigt att notera följande:
Databaskomponenten
Databaskomponenten är valfri och används för att indikera vilken databas som ska autentiseras mot. När databaskomponenten inte tillhandahålls används "admin"-databasen.
mongodb://host:27017/mydb
Ovan är databasen med namnet "mydb" där referenserna för applikationen lagras.
OBS:
Vissa drivrutiner använder databaskomponenten för att indikera vilken databas som ska arbeta med som standard. .NET-drivrutinen, medan den analyserar databaskomponenten, använder inte databaskomponenten för något annat än autentisering.
Slutligen skulle jag föreslå i framtiden att fördunkla värdnamnet och porten när du postar till SO. Även om säkerhet genom enbart dunkel är en dålig policy, lägger den verkligen till ett lager av försvar för din MongoDB-distribution.