Mongo客户端设置引发异常

wn9m85ua  于 2022-09-18  发布在  Go
关注(0)|答案(1)|浏览(197)

我正在使用.Net连接到一个mongo数据库,当我按照下面的代码块使用客户端设置时,我得到了一个异常(在代码块下面)

var clientSettings = new MongoClientSettings()
{
    ConnectTimeout = TimeSpan.FromSeconds(30),
    SocketTimeout = TimeSpan.FromSeconds(30),
    WaitQueueTimeout = TimeSpan.FromSeconds(30),
    Server = new MongoServerAddress("host", portnumber)
};
var dbClient = new MongoClient(clientSettings);
var _mongoDb = dbClient.GetDatabase(db);
var mongoCollection = _mongoDb.GetCollection<T>(collection);

// exists with code 0 when not able to return with anything
var retVal =  await mongoCollection.Find(filter).ToListAsync();
return retVal;

例外情况:

出现一个或多个错误。(30000ms后,使用复合服务器选择器选择服务器发生超时{选择器=MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector,延迟限制服务器选择器{允许延迟范围=00:00:00.0150000}}。群集状态的客户端视图为{群集ID:“1”,连接模式:“自动”,类型:“未知”,状态:“已断开连接”,服务器:[{服务器ID:“”{群集ID:1,终结点:“Unspecified/xxxx-mongoapi.documents.azure.com:10255”}“,终结点:”Unspecified/xxxx-mongoapi.documents.azure.com:10255“,状态:”已断开连接“,类型:”未知“,上次更新时间戳:”2022-09-16T11:18:00.8150834Z“}]}。

但是,如果我像这样添加连接字符串

var dbClient = new MongoClient(connectionString);

那么这个连接就没有问题了。

有谁能告诉我为什么\我哪里出错了吗?

谢谢

西蒙

ukdjmx9f

ukdjmx9f1#

正如评论中提到的,您在连接字符串和MongoClientSettings中指定了不同的选项,要检查它,请比较您手动填写的MongoClientSettingsMongoClientSettings.FromConnectionString()将拥有的选项:

var settings = new MongoClientSettings() { .. };

var settings = MongoClientSettings.FromConnectionString(connectionString)

相关问题