Постоянное подключение к Master узлу, даже при ReadPreferenceMode.Secondary

205
04 июня 2018, 07:40

Дано:

сервер на 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; }
}
READ ALSO
wpf Validation возврат значения в модель

wpf Validation возврат значения в модель

В общем есть такой TextBox к которому добавлены ValidationRules Вопрос в том как правильно вернуть в модель(привязать к модели) флаг о наличии ошибки...

224
Как запретить ввод символов символов с клавиатуры в textBox?

Как запретить ввод символов символов с клавиатуры в textBox?

Пытаюсь создать калькулятор на Windows Forms, С#Добавил кнопки для ввода чисел и следовательно требуется ограничить ввод пользователя в TextBox

237
Описание combobox c# winforms

Описание combobox c# winforms

Как можно описать comboBox? Например, в описание combobBox написано ФРУКТЫ, а при клике в comboBox показывает название фруктов: яблоко, апельсин, банан,...

200