Als ik een gok moest wagen, is het probleem hoogstwaarschijnlijk een firewallprobleem. U moet het volgende controleren
nslookup
van de host (ds048719.mlab.com) van de C#-toepassingshostping
van de host (ds048719.mlab.com) van de C# Application Host (kan mislukken, afhankelijk van de instellingen van mLab)- Dat uw IP-adres op de witte lijst staat
- Test de verbinding met de Mongo Shell van dezelfde host waarop de C#-toepassing wordt uitgevoerd. mlab heeft hier documenten.
- Test de verbinding met een onbewerkt
telnet
, bijv.telnet ds048719.mlab.com 48719
- Zorg ervoor dat u de juiste
authenticationDatabase
gebruikt (in uw voorbeeld wordt dit gespecificeerd door de/db
), is dit meestaladmin
maar kan uw databasenaam zijn als u zich op een gedeelde instantie bevindt.
U vindt de documenten over het verbinden met de C#-driver in de MongoDB C# Driver Docs. Het is belangrijk op het volgende te letten:
De databasecomponent
De databasecomponent is optioneel en wordt gebruikt om aan te geven tegen welke database moet worden geverifieerd. Als de databasecomponent niet wordt geleverd, wordt de "admin"-database gebruikt.
mongodb://host:27017/mydb
Hierboven is de database met de naam "mydb" waar de inloggegevens voor de toepassing worden opgeslagen.
OPMERKING:
Sommige stuurprogramma's gebruiken de databasecomponent om aan te geven met welke database standaard moet worden gewerkt. Het .NET-stuurprogramma, hoewel het de databasecomponent ontleedt, gebruikt de databasecomponent niet voor iets anders dan authenticatie.
Ten slotte zou ik willen voorstellen om in de toekomst de hostnaam en poort te verdoezelen bij het posten naar SO. Hoewel beveiliging door middel van obscuriteit alleen een slecht beleid is, voegt het zeker een verdedigingslaag toe aan uw MongoDB-implementatie.