Exemple #1
0
 /// <summary>
 /// 维护任务
 /// </summary>
 /// <param name="mongoServer"></param>
 private static void MaintenanceTask(MongoServer mongoServer)
 {
     Task.Run(() =>
     {
         while (true)
         {
             try
             {
                 if (mongoServer.State == MongoServerState.Disconnected)
                 {
                     if (_recordConnectedCollection.TryGetValue(mongoServer, out bool connected))
                     {
                         if (connected)
                         {
                             MongoCoreExtentions.OnDisconnected?.BeginInvoke(mongoServer.Settings.ToString(), null, null);
                         }
                     }
                     mongoServer.Reconnect();
                 }
                 else if (mongoServer.State == MongoServerState.Connected)
                 {
                     _recordConnectedCollection.TryAdd(mongoServer, true);
                 }
             }
             catch (Exception ex)
             {
                 MongoCoreExtentions.OnError?.BeginInvoke(mongoServer.Settings.ToString(), ex, null, null);
             }
             finally
             {
                 Task.Delay(3 * 1000).GetAwaiter().GetResult();
             }
         }
     });
 }
Exemple #2
0
        public List <FrameDLRObject> Query(string collectionname, Dictionary <string, object> json)
        {
            if (server.State == MongoServerState.Disconnected)
            {
                server.Reconnect();
            }

            QueryDocument qd         = new QueryDocument(json);
            var           collection = database.GetCollection <FrameDLRObject>(collectionname);

            return(collection.Find(qd).ToList());
        }
 public void TestReconnect()
 {
     _server.Reconnect();
     Assert.IsTrue(_server.State == MongoServerState.Connected || _server.State == MongoServerState.ConnectedToSubset);
 }
Exemple #4
0
 public void TestReconnect()
 {
     server.Reconnect();
     Assert.AreEqual(MongoServerState.Connected, server.State);
 }
Exemple #5
0
 public void TestReconnect()
 {
     RequireEnvironment.Check().EnvironmentVariable("EXPLICIT");
     __server.Reconnect();
     Assert.True(__server.State == MongoServerState.Connected || __server.State == MongoServerState.ConnectedToSubset);
 }
Exemple #6
0
 public void Reconnect()
 {
     _mongoServer.Reconnect();
 }