Дано:
сервер на Host1:27017
(Master
)
сервер на Host2:27017
(Slave
)
MongoClientSettings settings = new MongoClientSettings();
settings.ReplicaSetName = "MyReplica";
settings.ConnectionMode = ConnectionMode.ReplicaSet;
settings.ReadPreference = new ReadPreference(ReadPreferenceMode.Secondary);
settings.Server = new MongoServerAddress("Host2", 27017);
MongoClient client = new MongoClient(settings);
var dbadmin = client.GetDatabase("admin");
//Класс ReplicaInfo соответствует JSON ответу на rs.Status()
var replSetGetStatus = dbadmin.RunCommand<ReplicaInfo>("{ replSetGetStatus: 1 }");
//Класс Member соответствует описанию члена реплики по rs.Status()
Member memberInfo = replSetGetStatus.members.First(x => x.Self);
Console.WriteLine(memberInfo.Name + ":" + memberInfo.StateStr);
На консоль при этом выводится Host1:27017:PRIMARY
Вопрос почему?
Сразу скажу, что при подключении ConnectionMode.Direct
вывод на консоль: Host2:27017:SECONDARY
Сокращенный вариант классов:
[BsonIgnoreExtraElements]
class Members
{
[BsonElement("self")]
public bool Self { get; set; }
[BsonElement("name")]
public string Name { get; set; }
[BsonElement("stateStr")]
public string StateStr { get; set; }
}
[BsonIgnoreExtraElements]
class ReplicaInfo {
[BsonElement("members")]
public List<Members> members { get; set; }
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
В общем есть такой TextBox к которому добавлены ValidationRules Вопрос в том как правильно вернуть в модель(привязать к модели) флаг о наличии ошибки...
Пытаюсь создать калькулятор на Windows Forms, С#Добавил кнопки для ввода чисел и следовательно требуется ограничить ввод пользователя в TextBox
Как можно описать comboBox? Например, в описание combobBox написано ФРУКТЫ, а при клике в comboBox показывает название фруктов: яблоко, апельсин, банан,...
Всем доброго времени суток