Beispiel #1
0
 private void DoBiDirectionalReplication()
 {
     Db4objects.Db4o.IObjectContainer handheld = OpenDb(ConfigureDb4oForReplication(), "handheld.yap");
     StoreSomePilots(handheld);
     Db4objects.Db4o.IObjectContainer desktop = OpenDb(ConfigureDb4oForReplication(), "desktop.yap");
     StoreSomeMorePilots(desktop);
     DisplayContents("Bi-Directional", "Before", handheld, desktop);
     Db4objects.Drs.IReplicationSession replication =
         Db4objects.Drs.Replication.Begin(ProviderFor(handheld), ProviderFor(desktop));
     Db4objects.Db4o.IObjectSet changed = replication.ProviderA().ObjectsChangedSinceLastReplication
                                              ();
     while (changed.HasNext())
     {
         replication.Replicate(changed.Next());
     }
     changed = replication.ProviderB().ObjectsChangedSinceLastReplication();
     while (changed.HasNext())
     {
         replication.Replicate(changed.Next());
     }
     replication.Commit();
     DisplayContents(string.Empty, "After", handheld, desktop);
     CloseDb(handheld);
     CloseDb(desktop);
 }
Beispiel #2
0
 public virtual void DoSelectiveReplication()
 {
     Db4objects.Db4o.IObjectContainer handheld = OpenDb(ConfigureDb4oForReplication(), "handheld.yap");
     StoreSomePilots(handheld);
     Db4objects.Db4o.IObjectContainer desktop = OpenDb(ConfigureDb4oForReplication(), "desktop.yap");
     DisplayContents("Selective Replication", "Before", handheld, desktop);
     Db4objects.Drs.IReplicationSession replication =
         Db4objects.Drs.Replication.Begin(ProviderFor(handheld), ProviderFor(desktop));
     Db4objects.Db4o.IObjectSet changed = replication.ProviderA().ObjectsChangedSinceLastReplication
                                              ();
     while (changed.HasNext())
     {
         Db4objects.Drs.Quickstart.Simple.Pilot p = (Db4objects.Drs.Quickstart.Simple.Pilot
                                                     )changed.Next();
         if (p._name.StartsWith("S"))
         {
             replication.Replicate(p);
         }
     }
     replication.Commit();
     DisplayContents(string.Empty, "After", handheld, desktop);
     CloseDb(handheld);
     CloseDb(desktop);
 }