Я пытаюсь подключиться к серверу MongoDB через ssl-сертификат, используя c #.Я получаю System.TimeoutException ( Произошло время ожидания после 30000 мс при выборе сервера с помощью CompositeServerSelector ).
Я начал с подключения через объект MongoClientSetting.Вот код:
MongoClientSettings settings = new MongoClientSettings();
settings.MaxConnectionLifeTime = new TimeSpan(12, 0, 0);
settings.UseSsl = true;
settings.VerifySslCertificate = false;
var cert = new X509Certificate2("mongoDBCAFile.cer");
settings.SslSettings = new SslSettings{
ClientCertificates = new[] { cert }
};
settings.Servers = new[]{
new MongoServerAddress("xyz1.intranet.companyname.com", 12345),
new MongoServerAddress("xyz2.intranet.companyname.com", 12345)
};
settings.ReplicaSetName = "replicaName";
var cred = MongoCredential.CreateGssapiCredential("username@intranet.companyname.com").WithMechanismProperty("SERVICE_NAME", "servicename");
settings.Credential = cred;
var client = new MongoClient(settings);
var database = client.GetDatabase("DatabaseName");
var collection = database.GetCollection<BsonDocument>("CollectionName");
//This is the place of error
var count1 = collection.CountDocuments(new BsonDocument());
Я попытался поиграться с ConnectTimeout, SocketTimeout и wTimeOut, но ошибка была та же.
Я также попытался сделать то же самое, используя указанную строку подключения здесь но я бы не понял, как создать строку подключения с этими многочисленными параметрами.