public void TestFromMongoConnectionStringBuilder() { // set everything to non default values to test that all settings are converted var connectionString = "server=somehost;username=user1;password=password1;" + "connect=direct;connectTimeout=123;uuidRepresentation=pythonLegacy;ipv6=true;" + "maxIdleTime=124;maxLifeTime=125;maxPoolSize=126;minPoolSize=127;" + "readPreference=secondary;readPreferenceTags=a:1,b:2|c:3,d:4;secondaryAcceptableLatency=128;socketTimeout=129;" + "ssl=true;sslVerifyCertificate=false;waitqueuesize=130;waitQueueTimeout=131;" + "w=1;fsync=true;journal=true;w=2;wtimeout=131"; var builder = new MongoConnectionStringBuilder(connectionString); var settings = MongoClientSettings.FromConnectionStringBuilder(builder); Assert.AreEqual(builder.ConnectionMode, settings.ConnectionMode); Assert.AreEqual(builder.ConnectTimeout, settings.ConnectTimeout); Assert.AreEqual("{}", settings.CredentialsStore.ToString()); Assert.AreEqual(new MongoCredentials("user1", "password1"), settings.DefaultCredentials); Assert.AreEqual(builder.GuidRepresentation, settings.GuidRepresentation); Assert.AreEqual(builder.IPv6, settings.IPv6); Assert.AreEqual(builder.MaxConnectionIdleTime, settings.MaxConnectionIdleTime); Assert.AreEqual(builder.MaxConnectionLifeTime, settings.MaxConnectionLifeTime); Assert.AreEqual(builder.MaxConnectionPoolSize, settings.MaxConnectionPoolSize); Assert.AreEqual(builder.MinConnectionPoolSize, settings.MinConnectionPoolSize); Assert.AreEqual(builder.ReadPreference, settings.ReadPreference); Assert.AreEqual(builder.ReplicaSetName, settings.ReplicaSetName); Assert.AreEqual(builder.SecondaryAcceptableLatency, settings.SecondaryAcceptableLatency); Assert.IsTrue(builder.Servers.SequenceEqual(settings.Servers)); Assert.AreEqual(builder.SocketTimeout, settings.SocketTimeout); Assert.AreEqual(builder.UseSsl, settings.UseSsl); Assert.AreEqual(builder.VerifySslCertificate, settings.VerifySslCertificate); Assert.AreEqual(builder.ComputedWaitQueueSize, settings.WaitQueueSize); Assert.AreEqual(builder.WaitQueueTimeout, settings.WaitQueueTimeout); Assert.AreEqual(builder.GetWriteConcern(true), settings.WriteConcern); }
private MongoDatabase GetDatabaseFromConnectionString(string connectionString) { var conString = new MongoConnectionStringBuilder(connectionString); MongoClientSettings settings = MongoClientSettings.FromConnectionStringBuilder(conString); MongoServer server = new MongoClient(settings).GetServer(); return(server.GetDatabase(conString.DatabaseName)); }
public UserStore(string databaseName) { var conString = new MongoConnectionStringBuilder(ConfigurationManager.ConnectionStrings[databaseName].ConnectionString); MongoClientSettings settings = MongoClientSettings.FromConnectionStringBuilder(conString); MongoServer server = new MongoClient(settings).GetServer(); db = server.GetDatabase(conString.DatabaseName); }
/// <summary> /// Gets the database from connection string. /// </summary> /// <param name="connectionString">The connection string.</param> /// <returns>MongoDatabase.</returns> /// <exception cref="System.Exception">No database name specified in connection string</exception> private MongoDatabase GetDatabaseFromSqlStyle(string connectionString) { var conString = new MongoConnectionStringBuilder(connectionString); MongoClientSettings settings = MongoClientSettings.FromConnectionStringBuilder(conString); MongoServer server = new MongoClient(settings).GetServer(); if (conString.DatabaseName == null) { throw new Exception("No database name specified in connection string"); } return(server.GetDatabase(conString.DatabaseName)); }
// private static methods private static MongoClientSettings ParseConnectionString(string connectionString) { if (connectionString.StartsWith("mongodb://")) { var url = new MongoUrl(connectionString); return(MongoClientSettings.FromUrl(url)); } else { var builder = new MongoConnectionStringBuilder(connectionString); return(MongoClientSettings.FromConnectionStringBuilder(builder)); } }