已删除的项目正在同步

时间:2013-04-30 08:23:37

标签: synchronization sup

我正在使用SUP 2.1.3

我花了最后几个小时试图找出为什么我删除的任何项目正在与SUP缓存同步。

删除您创建的MBO实例的唯一方法是调用CancelPending()。

我已经阅读了文档,并且它说要调用Delete(),但是在任何实现中都不会生成删除。

删除功能的生成如下:

    public void Delete()

    {

        throw new Sybase.Persistence.NoSuchOperationException();

    }

因此,当我在要删除的MBO实例上调用CancelPending()时,它会在本地删除它,但是当设备同步时,它会将所有挂起的对象(包括已删除的对象)发送到Sybase服务器。

似乎在执行同步时它会回滚删除,然后将它们发送到服务器,然后在设备上提交更改。

如果这里的任何人有SUP的经验,我将非常感谢帮助

更新: 好的,所以我发现它只执行逻辑删除而不是实际删除,所以我的问题仍然是如何删除对象但不与服务器同步?

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。文档建议在每次创建对象后调用SubmitPending(),因为它更适合Performance,而不是调用SubmitionPendingOperations()

这是锁定对象的同步,并且不允许对对象进行删除或更新调用。

在执行同步之前删除它并执行SubmitPendingOperations()提交创建的项目解决了我的问题。

从使用Sybase Unwired Platform开始的任何其他人那里吸取教训,只有当您知道不会对对象进行任何更改时才调用SubmitPending()