В този момент уча MongoDB и си играя около връзките на набор от реплики. Искам да допринеса с 2 начина, които съм използвал за свързване с базата данни, които намирам за полезни, ако не помогне на никого, поне ще имам къде да се позовавам в бъдеще (сигурен съм, че ще отида да се нуждае от него в даден момент) първо:
var connString = "mongodb://localhost:27029,localhost:27027,localhost:27028?connect=replicaSet";
var client = new MongoClient(connString);
var db = client.GetDatabase("test");
второ:
var settings = new MongoClientSettings
{
Servers = new[]
{
new MongoServerAddress("localhost", 27027),
new MongoServerAddress("localhost", 27028),
new MongoServerAddress("localhost", 27029)
},
ConnectionMode = ConnectionMode.Automatic,
ReplicaSetName = "m101",
WriteConcern = new WriteConcern(WriteConcern.WValue.Parse("3"),wTimeout:TimeSpan.Parse("10"))
};
var client = new MongoClient(settings);
Първият ми позволява да се свържа с базата данни чрез сървърите, посочени в списъка със сървъри. Това позволява на драйвера да се свърже автоматично с новия основен възел в набора реплики в случай на повреда с принципала. С втория изпращам списъка със сървъри в набора реплики, типа връзка. Името на комплекта реплики и конфигурацията за запис се отнасят. С тези настройки принуждавам драйвера да изчака потвърждение за писане от 3-те сървъра в набора реплики (WValue:3) и да изчака най-много 10 секунди за потвърждение за писане.