我对CBL复制器有一个非常奇怪的问题:
全局:
public Replication _Push;
public Replication _Pull;
在init中:
_DB = Manager.SharedInstance.GetDatabase(_DBName);
if (_DB == null) throw new Exception("Unable to initialize CB Lite");
_Push = _DB.CreatePushReplication(_DBServerURL);
_Pull = _DB.CreatePullReplication(_DBServerURL);
List<String> Channels = new List<string>();
Channels.Add("TestChannel");
_Push.Channels = Channels;
_Pull.Channels = Channels;
_Push.Start();
_Pull.Start();
_Push.Continuous = true;
_Pull.Continuous = true;
问题是,Replicator一开始就处于Active状态,然后它变为空闲状态,但最终它变为Stopped并且IT不会再次返回。
CouchBase文档告诉我:
......另一方面,连续复制将无限期保持活跃状态,观察进一步的变化并进行转移。 ...
已停止:在传输所有文档或发生致命错误后,一次性复制将进入此状态。 (连续复制永远不会停止。)
所以真的很奇怪...... 我正在从桌面应用程序进行测试....
我也检查了两个LastError对象,但即使连续复制停止,它们也为空...
答案 0 :(得分:1)
问题解决了,似乎你必须在启动它们之前将Replicators设置为连续:
readObject