CouchBase Lite连续复制停止

时间:2015-06-09 22:24:01

标签: c# .net couchbase

我对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对象,但即使连续复制停止,它们也为空...

1 个答案:

答案 0 :(得分:1)

问题解决了,似乎你必须在启动它们之前将Replicators设置为连续:

readObject