Я использую приведенный ниже код для подключения БД mongo.
public static class MongoDBHandler
{
static IMongoClient _client;
static IMongoDatabase _database;
static string MongoDBConnectionString;
static IMongoClient mClientConnection()
{
MongoDBConnectionString = System.Configuration.ConfigurationManager.AppSettings["connectionString"];
_client = new MongoClient(MongoDBConnectionString);
return _client;
}
public static IMongoDatabase mDatabase()
{
try
{
if (_client == null)
{
_client = mClientConnection();
}
if (_database == null)
{
var mongoUrl = new MongoUrl(MongoDBConnectionString);
_database = _client.GetDatabase(mongoUrl.DatabaseName);
}
return _database;
}
catch
{
throw;
}
}
}
Я использую вышеуказанный код класса, как показано ниже: -
protected static IMongoDatabase _database;
public void GetData()
{
_database = Assistant.MongoDBHandler.mDatabase();
IMongoCollection<Models.RoomTypeMappingOnline> collection_rto = _database.GetCollection<Models.RoomTypeMappingOnline>("collection");
//Rest of code
}
Мой код работает нормально.Я могу получить данные без проблем с меньшим количеством запросов.
Но когда я получаю больше запросов, я получаю сообщение об ошибке «Очередь ожидания для установления соединения с сервером заполнена».
Ниже приведена строка подключения: -
mongodb://admin:password@server:11111/databse?authSource=sa&appName=database&connectTimeoutMS=5000&minPoolSize=3000&retryWrites=true&waitQueueMultiple=15
Подскажите, пожалуйста, какие изменения я могу внести в мой код, чтобы он мог работать без ошибок.