Пример #1
0
        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);
            }
        }
Пример #2
0
 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))));
     }
 }