/// <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(); } } }); }
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); }
public void TestReconnect() { server.Reconnect(); Assert.AreEqual(MongoServerState.Connected, server.State); }
public void TestReconnect() { RequireEnvironment.Check().EnvironmentVariable("EXPLICIT"); __server.Reconnect(); Assert.True(__server.State == MongoServerState.Connected || __server.State == MongoServerState.ConnectedToSubset); }
public void Reconnect() { _mongoServer.Reconnect(); }