Лоты изменились с течением времени с драйвером MongoDB C#. Ваше решение должно основываться на используемой вами версии.
Первая ссылка , написанная в 2014 году для perl драйвера
SO link написано в 2015 году (когда использовалась версия 2.2). Нет ссылки на connect = replicaset ни в одной из различных версий документации
Документация Это то, что я бы рекомендовал использовать, поскольку оно написано Mon go. Следуя указаниям в этой документации, я смог использовать настройки MongoClient и MongoClient (примеры приведены ниже).
Пример
Вы можете написать свой mongodb в длинном строка, подобная приведенной выше:
"mongodb://aaa:123@m.com:27017,m1.com:37017,m2.com:27017/dbtest?replicaSet=myRepl"
Рекомендация
Вместо использования строки подключения, как указано выше, я бы рекомендовал использовать собственные переменные C# для подключения к набор реплик. ConnectionMode указывает в настройке, является ли это ReplicaSet
или Direct
.
var mongoClientSettings = new MongoClientSettings()
{
ConnectionMode = ConnectionMode.ReplicaSet,
Credential = MongoCredential.CreateCredential("admin", "user", "pass"),
ReplicaSetName = "ReplicaSetName",
Servers = new List<MongoServerAddress>() { new MongoServerAddress("host", 27017), new MongoServerAddress("host2", 27017) }.ToArray(),
ApplicationName = "NameOfYourApplicatino",
};
MongoClient client = new MongoClient(mongoClientSettings);
Поскольку клиент является потокобезопасным, вы также можете использовать его в качестве глобальной переменной.