public void TestAll()
        {
            var server   = MongoServer.Create();
            var settings = new MongoDatabaseSettings(server, "database")
            {
                Credentials = MongoCredentials.Create("username", "password"),
                SafeMode    = SafeMode.Create(5, TimeSpan.FromSeconds(5)),
                SlaveOk     = true
            };

            Assert.AreEqual("database", settings.DatabaseName);
            Assert.AreEqual(MongoCredentials.Create("username", "password"), settings.Credentials);
            Assert.AreEqual(GuidRepresentation.CSharpLegacy, settings.GuidRepresentation);
            Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(5)), settings.SafeMode);
            Assert.AreEqual(true, settings.SlaveOk);

            Assert.IsFalse(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            Assert.AreEqual(settings, settings);

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
        /// <summary>
        /// 根据查询语句删去特定条目
        /// </summary>
        /// <typeparam name="T">待删的集合类型</typeparam>
        /// <param name="query"></param>
        private static void Remove <T>(IMongoQuery query, SafeMode safemode)
        {
            string className  = typeof(T).Name;
            var    collection = GetCollections <T>();

            collection.Remove(query, safemode);
        }
        /// <summary>
        /// 插入一个类到对应数据库
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="item"></param>
        protected static void Insert <T>(T item, SafeMode safemode)
        {
            string className  = typeof(T).Name;
            var    collection = GetCollections <T>();

            collection.Insert(item, safemode);
        }
Beispiel #4
0
        public void TestAll()
        {
            var settings = new MongoCollectionSettings <BsonDocument>(
                "collection",
                true, // asssignIdOnInsert
                SafeMode.Create(5, TimeSpan.FromSeconds(5)),
                true  // slaveOkd
                );

            Assert.AreEqual("collection", settings.CollectionName);
            Assert.AreEqual(true, settings.AssignIdOnInsert);
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
            Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(5)), settings.SafeMode);
            Assert.AreEqual(true, settings.SlaveOk);

            Assert.IsFalse(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            Assert.AreEqual(settings, settings);

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
        public void UpdateLastAccess(string IdSession, DateTime lastAccess)
        {


            MongoServer conn = GetConnection();
            MongoCollection sessionCollection = GetSessionCollection(conn);

            var ApplicationName = "IOL";
            Double timeout = this.GetTimeoutSet();
            object lockId = new object();

            SafeMode _safeMode = new SafeMode(false);

            try
            {

                var query = Query.And(Query.EQ("_id", IdSession), Query.EQ("ApplicationName", ApplicationName));
                var update = Update.Set("Expires", DateTime.Now.AddMinutes((Double)timeout).ToUniversalTime());

                update.Set("Locked", false);
                sessionCollection.Update(query, update, _safeMode);

            }
            catch (Exception e)
            {

            }
            finally
            {
                conn.Disconnect();
            }
        }
Beispiel #6
0
        public void TestAll()
        {
            var server   = MongoServer.Create();
            var database = server["test"];
            var settings = new MongoCollectionSettings <BsonDocument>(database, "collection")
            {
                AssignIdOnInsert = true,
                SafeMode         = SafeMode.Create(5, TimeSpan.FromSeconds(5)),
                SlaveOk          = true
            };

            Assert.AreEqual("collection", settings.CollectionName);
            Assert.AreEqual(true, settings.AssignIdOnInsert);
            Assert.AreEqual(typeof(BsonDocument), settings.DefaultDocumentType);
            Assert.AreEqual(GuidRepresentation.CSharpLegacy, settings.GuidRepresentation);
            Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(5)), settings.SafeMode);
            Assert.AreEqual(true, settings.SlaveOk);

            Assert.IsFalse(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            Assert.AreEqual(settings, settings);

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
 public void TestSafeModeTrueFSyncTrueW2()
 {
     string connectionString = "mongodb://localhost/?safe=true;fsync=true;w=2";
     MongoUrl url = new MongoUrl(connectionString);
     Assert.AreEqual(SafeMode.Create(true, true, 2), url.SafeMode);
     Assert.AreEqual(connectionString, url.ToString());
 }
Beispiel #8
0
        /// <summary>
        /// Constractor
        /// </summary>
        /// <param name="tableName">table name</param>
        /// <param name="conntionString">connection string. As same as sql server connection string</param>
        /// <param name="safeMode">Safe mode</param>
        /// <returns></returns>
        public MongoDataProvider(string tableName, string conntionString, SafeMode safeMode)
        {
            SqlConnectionStringBuilder sqlConnBuilder = new SqlConnectionStringBuilder(conntionString);

            this._SafeMode = safeMode ?? SafeMode.False;

            StringBuilder connString = new StringBuilder();

            connString.Append("mongodb://");

            string userName = sqlConnBuilder.UserID ?? "";
            string password = sqlConnBuilder.Password ?? "";

            if (!string.IsNullOrEmpty(userName))
            {
                connString.AppendFormat("{0}:{1}@", userName, password);
            }

            connString.Append(sqlConnBuilder.DataSource);

            string databaseName = sqlConnBuilder.InitialCatalog;

            this._MongoServer = MongoServer.Create(connString.ToString());

            this._MongoDatabase = this._MongoServer.GetDatabase(databaseName, this._SafeMode);
            this._TableName     = tableName;
        }
 public void TestSafeModeTrueFSyncTrueW2WTimeout()
 {
     string connectionString = "mongodb://localhost/?safe=true;fsync=true;w=2;wtimeout=2s";
     MongoUrl url = new MongoUrl(connectionString);
     Assert.AreEqual(SafeMode.Create(true, true, 2, TimeSpan.FromSeconds(2)), url.SafeMode);
     Assert.AreEqual(connectionString, url.ToString());
 }
 private void GivenSetNoneOptions(SafeMode mode)
 {
     _options.SetupGet(o => o.Value).Returns(new FXZOptions
     {
         SafeMode = mode
     });
 }
Beispiel #11
0
        public void TestEquals()
        {
            var a = new SafeMode(false);
            var b = new SafeMode(false);
            var c = new SafeMode(true);
            var n = (SafeMode)null;

            Assert.IsTrue(object.Equals(a, b));
            Assert.IsFalse(object.Equals(a, c));
            Assert.IsFalse(a.Equals(n));
            Assert.IsFalse(a.Equals(null));

            Assert.IsTrue(a == b);
            Assert.IsFalse(a == c);
            Assert.IsFalse(a == null);
            Assert.IsFalse(null == a);
            Assert.IsTrue(n == null);
            Assert.IsTrue(null == n);

            Assert.IsFalse(a != b);
            Assert.IsTrue(a != c);
            Assert.IsTrue(a != null);
            Assert.IsTrue(null != a);
            Assert.IsFalse(n != null);
            Assert.IsFalse(null != n);
        }
        public void TestSafeModeTrueFSyncTrueW2()
        {
            string connectionString = "server=localhost;safe=true;fsync=true;w=2";
            var    builder          = new MongoConnectionStringBuilder(connectionString);

            Assert.AreEqual(SafeMode.Create(true, true, 2), builder.SafeMode);
            Assert.AreEqual(connectionString, builder.ToString());
        }
        public void TestSafeModeTrueFSyncTrueW2WTimeout()
        {
            string connectionString = "server=localhost;safe=true;fsync=true;w=2;wtimeout=2s";
            var    builder          = new MongoConnectionStringBuilder(connectionString);

            Assert.AreEqual(SafeMode.Create(true, true, 2, TimeSpan.FromSeconds(2)), builder.SafeMode);
            Assert.AreEqual(connectionString, builder.ToString());
        }
        public void Read(ByteArrayStreamReader reader)
        {
            FightMode = (FightMode)reader.ReadByte();

            ChaseMode = (ChaseMode)reader.ReadByte();

            SafeMode = (SafeMode)reader.ReadByte();
        }
Beispiel #15
0
 public MongoRepositoryService(bool safe = false)
 {
     db = MongoDatabase.Create(WebConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString);
     if (safe)
     {
         safeMode = SafeMode.True;
     }
 }
Beispiel #16
0
    public void startSafeMode(int duration)
    {
        safeModeUntil = DateTime.Now.AddSeconds(duration);

        // TODO: Ha lesz használva a safemodeslot, akkor itt cseréljük ki a this transformot
        SafeMode safeMode = GameObject.Instantiate(safeModePrefab, this.transform).GetComponent <SafeMode>();

        safeMode.init(duration);
    }
Beispiel #17
0
        /// <summary>
        /// 插入或者替换已有条目
        /// </summary>
        /// <typeparam name="T">类名</typeparam>
        /// <param name="item">对象</param>
        /// <param name="idName">主键名</param>
        protected static void InsertOrReplace <T>(T item, string idName, SafeMode safemode)
        {
            string className  = typeof(T).Name;
            var    collection = GetCollections <T>();
            var    query      = GetIDQuery <T>(item, idName);

            Remove <T>(query, safemode);
            collection.Insert(item, safemode);
        }
 /// <summary>
 /// Freezes the settings.
 /// </summary>
 /// <returns>The frozen settings.</returns>
 public MongoGridFSSettings Freeze()
 {
     if (!_isFrozen)
     {
         _safeMode = _safeMode.FrozenCopy();
         _isFrozen = true;
     }
     return(this);
 }
Beispiel #19
0
 /// <summary>
 /// Initializes a new instance of the MongoGridFSSettings class.
 /// </summary>
 /// <param name="chunkSize">The chunk size.</param>
 /// <param name="root">The root collection name.</param>
 /// <param name="safeMode">The safe mode.</param>
 public MongoGridFSSettings(
     int chunkSize,
     string root,
     SafeMode safeMode
     )
 {
     this.chunkSize = chunkSize;
     this.Root      = root; // use property not field
     this.safeMode  = safeMode;
 }
        public MongoCollection <TDocument> GetMongoCollection <TDocument>(string collectionName, MongoDatabase db, SafeMode safeMode = null)
        {
            if (safeMode == null)
            {
                safeMode = new SafeMode(true);
            }
            MongoCollection <TDocument> result = db.GetCollection <TDocument>(collectionName, safeMode);

            return(result);
        }
Beispiel #21
0
        public CombatControlsCommand(Player player, FightMode fightMode, ChaseMode chaseMode, SafeMode safeMode)
        {
            Player = player;

            FightMode = fightMode;

            ChaseMode = chaseMode;

            SafeMode = safeMode;
        }
        public void TestCreateWithEnabledAndFSync()
        {
            var safeMode = new SafeMode(true, true);

            Assert.AreEqual(true, safeMode.Enabled);
            Assert.AreEqual(true, safeMode.FSync);
            Assert.AreEqual(false, safeMode.Journal);
            Assert.AreEqual(0, safeMode.W);
            Assert.AreEqual(null, safeMode.WMode);
            Assert.AreEqual(TimeSpan.Zero, safeMode.WTimeout);
        }
Beispiel #23
0
        public void TestCreateWithWAndTimeout()
        {
            var safeMode = new SafeMode(2, TimeSpan.FromSeconds(30));

            Assert.AreEqual(true, safeMode.Enabled);
            Assert.AreEqual(false, safeMode.FSync);
            Assert.AreEqual(false, safeMode.J);
            Assert.AreEqual(2, safeMode.W);
            Assert.AreEqual(null, safeMode.WMode);
            Assert.AreEqual(TimeSpan.FromSeconds(30), safeMode.WTimeout);
        }
Beispiel #24
0
        public void TestCreateWithW()
        {
            var safeMode = new SafeMode(2);

            Assert.AreEqual(true, safeMode.Enabled);
            Assert.AreEqual(false, safeMode.FSync);
            Assert.AreEqual(false, safeMode.J);
            Assert.AreEqual(2, safeMode.W);
            Assert.AreEqual(null, safeMode.WMode);
            Assert.AreEqual(TimeSpan.Zero, safeMode.WTimeout);
        }
Beispiel #25
0
        public override SafeModeResult Remove(IMongoQuery query, RemoveFlags flags, SafeMode safeMode)
        {
            if (writer != null)
            {
                this.writer.WriteLine("Remove Query:");
                this.writer.WriteLine(query == null ? "Null" : query.ToString());
                this.writer.WriteLine();
                this.writer.Flush();
            }

            return(mCollection.Remove(query, flags, safeMode));
        }
        public void TestSafeModeTrueFSyncTrueW2()
        {
            var connectionString = "mongodb://localhost/?safe=true;fsync=true;w=2";
            var builder          = new MongoUrlBuilder("mongodb://localhost")
            {
                SafeMode = SafeMode.Create(true, true, 2)
            };

            Assert.AreEqual(SafeMode.Create(true, true, 2), builder.SafeMode);
            Assert.AreEqual(connectionString, builder.ToString());
            Assert.AreEqual(connectionString, new MongoUrlBuilder(connectionString).ToString());
        }
        public void TestSafeModeTrueFSyncTrueW2WTimeout()
        {
            var connectionString = "mongodb://localhost/?safe=true;fsync=true;w=2;wtimeout=2s";
            var builder          = new MongoUrlBuilder("mongodb://localhost")
            {
                SafeMode = SafeMode.Create(true, true, 2, TimeSpan.FromSeconds(2))
            };

            Assert.AreEqual(SafeMode.Create(true, true, 2, TimeSpan.FromSeconds(2)), builder.SafeMode);
            Assert.AreEqual(connectionString, builder.ToString());
            Assert.AreEqual(connectionString, new MongoUrlBuilder(connectionString).ToString());
        }
        public void TestAll()
        {
            var settings = new MongoServerSettings();

            settings.ConnectionMode     = ConnectionMode.ReplicaSet;
            settings.ConnectTimeout     = TimeSpan.FromSeconds(1);
            settings.DefaultCredentials = MongoCredentials.Create("username", "password");
            settings.GuidRepresentation = GuidRepresentation.CSharpLegacy;
            settings.IPv6 = true;
            settings.MaxConnectionIdleTime = TimeSpan.FromSeconds(2);
            settings.MaxConnectionLifeTime = TimeSpan.FromSeconds(3);
            settings.MaxConnectionPoolSize = 99;
            settings.MinConnectionPoolSize = 11;
            settings.ReadPreference        = ReadPreference.Primary;
            settings.ReplicaSetName        = "replicaname";
            settings.SafeMode         = SafeMode.Create(5, TimeSpan.FromSeconds(4));
            settings.Server           = new MongoServerAddress("server");
            settings.SocketTimeout    = TimeSpan.FromSeconds(5);
            settings.UseSsl           = true;
            settings.WaitQueueSize    = 55;
            settings.WaitQueueTimeout = TimeSpan.FromSeconds(6);

            Assert.AreEqual(ConnectionMode.ReplicaSet, settings.ConnectionMode);
            Assert.AreEqual(TimeSpan.FromSeconds(1), settings.ConnectTimeout);
            Assert.AreEqual(MongoCredentials.Create("username", "password"), settings.DefaultCredentials);
            Assert.AreEqual(GuidRepresentation.CSharpLegacy, settings.GuidRepresentation);
            Assert.AreEqual(true, settings.IPv6);
            Assert.AreEqual(TimeSpan.FromSeconds(2), settings.MaxConnectionIdleTime);
            Assert.AreEqual(TimeSpan.FromSeconds(3), settings.MaxConnectionLifeTime);
            Assert.AreEqual(99, settings.MaxConnectionPoolSize);
            Assert.AreEqual(11, settings.MinConnectionPoolSize);
            Assert.AreEqual(ReadPreference.Primary, settings.ReadPreference);
            Assert.AreEqual("replicaname", settings.ReplicaSetName);
            Assert.AreEqual(SafeMode.Create(5, TimeSpan.FromSeconds(4)), settings.SafeMode);
            Assert.AreEqual(new MongoServerAddress("server"), settings.Server);
            Assert.IsTrue((new[] { new MongoServerAddress("server") }).SequenceEqual(settings.Servers));
            Assert.AreEqual(TimeSpan.FromSeconds(5), settings.SocketTimeout);
            Assert.AreEqual(true, settings.UseSsl);
            Assert.AreEqual(55, settings.WaitQueueSize);
            Assert.AreEqual(TimeSpan.FromSeconds(6), settings.WaitQueueTimeout);

            Assert.IsFalse(settings.IsFrozen);
            var hashCode             = settings.GetHashCode();
            var stringRepresentation = settings.ToString();

            Assert.AreEqual(settings, settings);

            settings.Freeze();
            Assert.IsTrue(settings.IsFrozen);
            Assert.AreEqual(hashCode, settings.GetHashCode());
            Assert.AreEqual(stringRepresentation, settings.ToString());
        }
Beispiel #29
0
        /// <summary>
        /// 插入或者替换已有条目
        /// </summary>
        /// <typeparam name="T">类名</typeparam>
        /// <param name="item">对象</param>
        /// <param name="idNames">主键集合</param>
        protected static void InsertOrReplace <T>(T item, string[] idNames, SafeMode safemode)
        {
            if (idNames == null || idNames.Length == 0)
            {
                return;
            }
            string className  = typeof(T).Name;
            var    collection = GetCollections <T>();
            var    query      = GetIDQuery <T>(item, idNames);

            Remove <T>(query, safemode);
            collection.Insert(item, safemode);
        }
Beispiel #30
0
        public void TestCreateWithWMode()
        {
            var safeMode = new SafeMode(true)
            {
                WMode = "majority"
            };

            Assert.AreEqual(true, safeMode.Enabled);
            Assert.AreEqual(false, safeMode.FSync);
            Assert.AreEqual(false, safeMode.J);
            Assert.AreEqual(0, safeMode.W);
            Assert.AreEqual("majority", safeMode.WMode);
            Assert.AreEqual(TimeSpan.Zero, safeMode.WTimeout);
        }