Pokud bych měl riskovat odhad, problém je s největší pravděpodobností problém s firewallem. Měli byste zkontrolovat následující
nslookup
hostitele (ds048719.mlab.com) z hostitele aplikace C#ping
hostitele (ds048719.mlab.com) z hostitele aplikace C# (může selhat v závislosti na nastavení mLab)- Vaše IP adresa je na seznamu povolených
- Otestujte připojení pomocí Mongo Shell ze stejného hostitele, kde běží aplikace C#. mLab má dokumenty zde.
- Otestujte připojení pomocí nezpracovaného
telnet
, např.telnet ds048719.mlab.com 48719
- Ujistěte se, že používáte správnou
authenticationDatabase
(ve vašem příkladu je to specifikováno pomocí/db
), to je obvykleadmin
ale může to být název vaší databáze, pokud jste na sdílené instanci.
Dokumenty o připojení k ovladači C# naleznete v dokumentech MongoDB C# Driver Docs. Je důležité si uvědomit následující:
Komponenta databáze
Komponenta databáze je volitelná a používá se k označení, proti které databázi se má autentizovat. Pokud není k dispozici komponenta databáze, použije se databáze „admin“.
mongodb://host:27017/mydb
Výše uvedená databáze s názvem „mydb“ je místo, kde jsou uloženy přihlašovací údaje pro aplikaci.
POZNÁMKA:
Některé ovladače využívají komponentu databáze k označení, se kterou databází se má ve výchozím nastavení pracovat. Ovladač .NET, zatímco analyzuje komponentu databáze, nepoužívá komponentu databáze pro nic jiného než autentizaci.
Nakonec bych v budoucnu navrhl, aby při odesílání do SO bylo zatemněno jméno hostitele a port. I když je zabezpečení prostřednictvím utajení samo o sobě špatnou politikou, určitě přidává vrstvu obrany pro vaše nasazení MongoDB.