public void GetContinuousChanges() { System.Threading.AutoResetEvent evt = new System.Threading.AutoResetEvent(false); if (client.HasDatabase("test_changes")) { client.DeleteDatabase("test_changes"); } string id = null; var db = client.GetDatabase("test_changes"); using (CouchContinuousChanges ccc = db.GetCoutinuousChanges(new ChangeOptions() { Since = 0 }, (x, y) => { try { id = y.Id; Assert.IsNotNull(y.Id); Assert.IsTrue(y.Sequence > 0); } finally { evt.Set(); } }, new Result <CouchContinuousChanges>()).Wait()) { JDocument result = db.CreateDocument(new JDocument(), new Result <JDocument>()).Wait(); evt.WaitOne(); Assert.AreEqual(result.Id, id); } }
private void DatabaseLoaded() { if (theDatabase != null) { Items.Clear(); ChangeOptions changes = new ChangeOptions(); changes.Heartbeat = 10000; changes.Since = GetSequence(); theContinuousChangeManager = theDatabase.GetCoutinuousChanges(changes, (x, y) => BeginInvoke((MethodInvoker)(() => OnContactChanged(y)))); } }