public MongoStorage(IMongoSettings settings) { var mongoDataBaseName = settings.GetMongoDataBaseName(); var mongoClientSettings = new MongoClientSettings { Servers = settings.GetMongoServers(), WriteConcern = WriteConcern.W1, ReadPreference = ReadPreference.Primary, GuidRepresentation = GuidRepresentation.Standard }; var mongoReplicaSetName = settings.GetMongoReplicaSetName(); if (!string.IsNullOrEmpty(mongoReplicaSetName)) { mongoClientSettings.ReplicaSetName = mongoReplicaSetName; } var mongoUserName = settings.GetMongoUserName(); if (!string.IsNullOrEmpty(mongoUserName)) { mongoClientSettings.Credentials = new[] { MongoCredential.CreateCredential(mongoDataBaseName, mongoUserName, settings.GetMongoPassword()) }; } var client = new MongoClient(mongoClientSettings); database = client.GetDatabase(mongoDataBaseName); }