加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用C#中的MongoClientSettings初始化MongoClient

发布时间:2020-12-15 04:26:15 所属栏目:百科 来源:网络整理
导读:我正在尝试从Mongo 2.0驱动程序初始化MongoClient,如下所示: MongoClientSettings settings = new MongoClientSettings();settings.WaitQueueSize = int.MaxValue;settings.WaitQueueuTimeout = new TimeSpan(0,2,0);settings.MinConnectionPoolSize = 1;se
我正在尝试从Mongo 2.0驱动程序初始化MongoClient,如下所示:
MongoClientSettings settings = new MongoClientSettings();
settings.WaitQueueSize = int.MaxValue;
settings.WaitQueueuTimeout = new TimeSpan(0,2,0);
settings.MinConnectionPoolSize = 1;
settings.MaxConnectionPoolSize = 25;
settings.Server = new MongoServerAddress("mongodb://localhost");
client = new MongoClient(settings)

但是,当我现在尝试使用此代码插入文档时:

db = client.GetDatabase("local");
col = db.GetCollection<BsonDocument>(collectionName);
col.InsertOneAsync(new BsonDocument().Add(new BsonElement("id",BsonValue.Create(1)))).Wait();

它没有做任何事情.它没有插入,也没有错误消息(虽然一段时间后输出中出现System.Timeout的第一次机会异常).如果我初始化客户端

client = new MongoClient("mongodb://localhost")

它确实有效,并按预期上传文档.

我希望客户端能够处理非常高的写入吞吐量,所以我首先尝试了这些设置.我是否设置了一些错误的设置或是否存在其他问题?

编辑:经过一些更多的测试,它确实是我得到的System.Timeout异常.

解决方法

我可以重现这个问题,只有在我的错误信息中,有一些更有用的信息埋在大约40行文本中:

No such host is known

事实证明,MongoServerAddress only expects the hostname,not the protocol:

settings.Server = new MongoServerAddress("localhost");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读