public static ClusterBuilder ConfigureCluster(ClusterBuilder builder) { var serverSelectionTimeoutString = Environment.GetEnvironmentVariable("MONGO_SERVER_SELECTION_TIMEOUT_MS"); if (serverSelectionTimeoutString == null) { serverSelectionTimeoutString = "10000"; } builder = builder .ConfigureWithConnectionString(__connectionString) .ConfigureCluster(c => c.With(serverSelectionTimeout: TimeSpan.FromMilliseconds(int.Parse(serverSelectionTimeoutString)))); if (__connectionString.Ssl.HasValue && __connectionString.Ssl.Value) { var certificateFilename = Environment.GetEnvironmentVariable("MONGO_SSL_CERT_FILE"); if (certificateFilename != null) { builder.ConfigureSsl(ssl => { var password = Environment.GetEnvironmentVariable("MONGO_SSL_CERT_PASS"); X509Certificate cert; if (password == null) { cert = new X509Certificate2(certificateFilename); } else { cert = new X509Certificate2(certificateFilename, password); } return ssl.With( clientCertificates: new[] { cert }); }); } } return builder; }
public static ClusterBuilder ConfigureCluster(ClusterBuilder builder) { var serverSelectionTimeoutString = Environment.GetEnvironmentVariable("MONGO_SERVER_SELECTION_TIMEOUT_MS"); if (serverSelectionTimeoutString == null) { serverSelectionTimeoutString = "10000"; } builder = builder .ConfigureWithConnectionString(__connectionString) .ConfigureCluster(c => c.With(serverSelectionTimeout: TimeSpan.FromMilliseconds(int.Parse(serverSelectionTimeoutString)))); if (__connectionString.Ssl.HasValue && __connectionString.Ssl.Value) { var certificateFilename = Environment.GetEnvironmentVariable("MONGO_SSL_CERT_FILE"); if (certificateFilename != null) { builder.ConfigureSsl(ssl => { var password = Environment.GetEnvironmentVariable("MONGO_SSL_CERT_PASS"); X509Certificate cert; if (password == null) { cert = new X509Certificate2(certificateFilename); } else { cert = new X509Certificate2(certificateFilename, password); } return ssl.With( clientCertificates: new[] { cert }); }); } } var traceSource = new TraceSource("mongodb-tests", SourceLevels.Information); traceSource.Listeners.Clear(); // remove the default listener var listener = new ConsoleTraceListener(); traceSource.Listeners.Add(listener); builder = builder.TraceWith(traceSource); return builder; }