Я пытаюсь инициализировать MongoClient из драйвера Монго 2.0 следующим образом:Initialize MongoClient с MongoClientSettings в C#
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")
Он действительно работает и загружает документ по назначению.
Я хочу, чтобы клиент мог обрабатывать очень высокую пропускную способность записи, поэтому я сначала попробовал эти настройки. Я установил некоторые настройки неправильно или есть другая проблема?
EDIT: после некоторого тестирования это действительно исключение System.Timeout, которое я получаю.
ли вы ждать выполнения асинхронной с помощью 'await',' Wait() 'или' .Result'? – mnemosyn
Да, я редактировал код, чтобы его отразить –
Пробовали ли вы с настройками по умолчанию? – mnemosyn