C# 如何在MongoDB连接期间解决System.TimeoutException?

C# 如何在MongoDB连接期间解决System.TimeoutException?,c#,wpf,database-connection,mongodb-.net-driver,connection-timeout,C#,Wpf,Database Connection,Mongodb .net Driver,Connection Timeout,我已经开始使用将WPF应用程序连接到MongoDB上托管的MongoDB数据库 但是我创建的用于加载连接的以下方法(在MainViewModel的构造函数上调用)在下面方法中标记的行上抛出了超时异常 我试图通过添加MongoException类型的异常检查来进一步解决该错误,但没有成功。还根据文档检查了连接字符串是否有效,看起来是这样的:(为安全起见,用星号标出密码) 完整错误链接: 有人知道我的连接方法超时的原因吗 public List<Customer> Loa

我已经开始使用将WPF应用程序连接到MongoDB上托管的MongoDB数据库

但是我创建的用于加载连接的以下方法(在MainViewModel的构造函数上调用)在下面方法中标记的行上抛出了超时异常

我试图通过添加MongoException类型的异常检查来进一步解决该错误,但没有成功。还根据文档检查了连接字符串是否有效,看起来是这样的:(为安全起见,用星号标出密码)

完整错误链接:

有人知道我的连接方法超时的原因吗

        public List<Customer> LoadCustomers()
        {
            var client = new MongoClient(connectionString);
            var database = client.GetDatabase("orders");
            //Get a handle on the customers collection:
            var collection = database.GetCollection<Customer>("customers");

            try
            {
                //Timeout error thrown at this line: 
                customers = collection.Find(new BsonDocument()).ToListAsync().GetAwaiter().GetResult();
            }
            catch(MongoException ex)
            {
                //Log exception here:
                MessageBox.Show("A handled exception just occurred: " + ex.Message, "Connection Exception", MessageBoxButton.OK, MessageBoxImage.Warning);          
            }

            return customers;
        } 
public List LoadCustomers()
{
var客户端=新的MongoClient(connectionString);
var database=client.GetDatabase(“订单”);
//获取客户集合的句柄:
var collection=database.GetCollection(“客户”);
尝试
{
//在此行引发超时错误:
customers=collection.Find(new BsonDocument()).tolistsync().GetAwaiter().GetResult();
}
捕获(MongoException例外)
{
//此处的日志异常:
Show(“刚刚发生了一个已处理的异常:”+ex.Message,“连接异常”,MessageBoxButton.OK,MessageBoxImage.Warning);
}
返回客户;
} 

通过重新编辑我的连接字符串解决了此错误。我在用户名和密码凭据之间的连接字符串“”中留下了这两个符号

正确格式:

"mongodb://brianVarley:password@ds054118.mongolab.com:54118/orders";
"mongodb://<brianVarley>:<password;>@ds054118.mongolab.com:54118/orders";
格式不正确:

"mongodb://brianVarley:password@ds054118.mongolab.com:54118/orders";
"mongodb://<brianVarley>:<password;>@ds054118.mongolab.com:54118/orders";
“mongodb://:@ds054118.mongolab.com:54118/orders”;

您是否尝试过通过mongo shell或其他方法进行连接,以确定这是否是服务器问题而不是您的代码?不,事实上,这是一个很好的建议,可以立即开始。我认为您的mongolab凭据无效。几周前我也有同样的问题。您是否为数据库创建了用户,或者您可能正在使用mongolab帐户的凭据?好的,我的连接字符串不正确,请将其保留在<>。将为其他有相同问题的人发布答案。