推測を危険にさらす必要がある場合、問題はファイアウォールの問題である可能性があります。以下を確認してください
-
nslookup
C#アプリケーションホストからのホスト(ds048719.mlab.com)の -
ping
C#アプリケーションホストからのホスト(ds048719.mlab.com)の(mLabの設定によっては失敗する可能性があります) - IPアドレスがホワイトリストに登録されていること
- C#アプリケーションが実行されているのと同じホストからMongoShellを使用して接続をテストします。 mLabにはここにドキュメントがあります。
- 生の
telnet
で接続をテストします 例:telnet ds048719.mlab.com 48719
- 正しい
authenticationDatabase
を使用していることを確認してください (あなたの例では、これは/db
によって指定されます )、これは通常admin
ただし、共有インスタンスを使用している場合は、データベース名にすることができます。
C#ドライバーとの接続に関するドキュメントは、MongoDB C#ドライバードキュメントにあります。次の点に注意することが重要です。
データベースコンポーネント
データベースコンポーネントはオプションであり、認証するデータベースを示すために使用されます。データベースコンポーネントが提供されていない場合、「admin」データベースが使用されます。
mongodb://host:27017/mydb
上記の「mydb」という名前のデータベースは、アプリケーションの資格情報が保存されている場所です。
注:
一部のドライバは、データベースコンポーネントを利用して、デフォルトで使用するデータベースを示します。 .NETドライバーは、データベースコンポーネントを解析しますが、認証以外の目的でデータベースコンポーネントを使用しません。
最後に、将来的には、SOに投稿するときにホスト名とポートをわかりにくくすることをお勧めします。隠すことによるセキュリティだけでは悪いポリシーですが、MongoDBの展開に防御の層を確実に追加します。