FrozenCopy() public method

Returns a frozen copy of the settings.
public FrozenCopy ( ) : MongoDatabaseSettings
return MongoDatabaseSettings
Ejemplo n.º 1
0
        // constructors
        /// <summary>
        /// Creates a new instance of MongoDatabase. Normally you would call one of the indexers or GetDatabase methods
        /// of MongoServer instead.
        /// </summary>
        /// <param name="server">The server that contains this database.</param>
        /// <param name="settings">The settings to use to access this database.</param>
        public MongoDatabase(MongoServer server, MongoDatabaseSettings settings)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            string message;

            if (!server.IsDatabaseNameValid(settings.DatabaseName, out message))
            {
                throw new ArgumentOutOfRangeException(message);
            }

            _server   = server;
            _settings = settings.FrozenCopy();
            _name     = settings.DatabaseName;

            var commandCollectionSettings = new MongoCollectionSettings <BsonDocument>(this, "$cmd")
            {
                AssignIdOnInsert = false
            };

            if (server.Settings.ConnectionMode == ConnectionMode.ReplicaSet)
            {
                // make sure commands get routed to the primary server by using slaveOk false
                commandCollectionSettings.SlaveOk = false;
            }
            _commandCollection = GetCollection(commandCollectionSettings);
        }
Ejemplo n.º 2
0
        // constructors
        /// <summary>
        /// Creates a new instance of MongoDatabase. Normally you would call one of the indexers or GetDatabase methods
        /// of MongoServer instead.
        /// </summary>
        /// <param name="server">The server that contains this database.</param>
        /// <param name="settings">The settings to use to access this database.</param>
        public MongoDatabase(MongoServer server, MongoDatabaseSettings settings)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            string message;

            if (!server.IsDatabaseNameValid(settings.DatabaseName, out message))
            {
                throw new ArgumentOutOfRangeException(message);
            }

            _server   = server;
            _settings = settings.FrozenCopy();
            _name     = settings.DatabaseName;

            var commandCollectionSettings = new MongoCollectionSettings <BsonDocument>(this, "$cmd")
            {
                AssignIdOnInsert = false
            };

            _commandCollection = GetCollection(commandCollectionSettings);
        }
 public void TestFrozenCopy()
 {
     var server = MongoServer.Create();
     var settings = new MongoDatabaseSettings(server, "database");
     var frozenCopy = settings.FrozenCopy();
     var secondFrozenCopy = frozenCopy.FrozenCopy();
     Assert.AreNotSame(settings, frozenCopy);
     Assert.AreSame(frozenCopy, secondFrozenCopy);
     Assert.AreEqual(false, settings.IsFrozen);
     Assert.AreEqual(true, frozenCopy.IsFrozen);
 }
Ejemplo n.º 4
0
        // constructors
        /// <summary>
        /// Creates a new instance of MongoDatabase. Normally you would call one of the indexers or GetDatabase methods
        /// of MongoServer instead.
        /// </summary>
        /// <param name="server">The server that contains this database.</param>
        /// <param name="settings">The settings to use to access this database.</param>
        public MongoDatabase(MongoServer server, MongoDatabaseSettings settings)
        {
            ValidateDatabaseName(settings.DatabaseName);
            _server   = server;
            _settings = settings.FrozenCopy();
            _name     = settings.DatabaseName;

            var commandCollectionSettings = new MongoCollectionSettings <BsonDocument>(this, "$cmd")
            {
                AssignIdOnInsert = false
            };

            if (server.Settings.ConnectionMode == ConnectionMode.ReplicaSet)
            {
                // make sure commands get routed to the primary server by using slaveOk false
                commandCollectionSettings.SlaveOk = false;
            }
            _commandCollection = GetCollection(commandCollectionSettings);
        }
        public void TestFrozenCopy()
        {
            var settings = new MongoDatabaseSettings();
            Assert.IsFalse(settings.IsFrozen);

            var frozenCopy = settings.FrozenCopy();
            Assert.IsFalse(settings.IsFrozen);
            Assert.IsTrue(frozenCopy.IsFrozen);
            Assert.AreNotSame(settings, frozenCopy);

            var secondFrozenCopy = frozenCopy.FrozenCopy();
            Assert.IsTrue(secondFrozenCopy.IsFrozen);
            Assert.AreSame(frozenCopy, secondFrozenCopy);
        }