推測を危険にさらす必要がある場合、問題はファイアウォールの問題である可能性があります。以下を確認してください
-
nslookupC#アプリケーションホストからのホスト(ds048719.mlab.com)の -
pingC#アプリケーションホストからのホスト(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の展開に防御の層を確実に追加します。