Synchronization 已删除的项目正在同步

Synchronization 已删除的项目正在同步,synchronization,sup,Synchronization,Sup,我正在使用SUP 2.1.3 我花了几个小时试图弄清楚为什么我删除的任何项目都与SUP缓存同步 似乎删除您创建的MBO实例的唯一方法是调用CancelPending 我已经阅读了文档,它说要调用Delete,但是Delete没有通过任何实现生成 删除函数的生成方式如下: public void Delete() { throw new Sybase.Persistence.NoSuchOperationException(); } 因此,当我在要删

我正在使用SUP 2.1.3

我花了几个小时试图弄清楚为什么我删除的任何项目都与SUP缓存同步

似乎删除您创建的MBO实例的唯一方法是调用CancelPending

我已经阅读了文档,它说要调用Delete,但是Delete没有通过任何实现生成

删除函数的生成方式如下:

    public void Delete()

    {

        throw new Sybase.Persistence.NoSuchOperationException();

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

在执行同步时,它似乎正在回滚删除操作,并将其发送到服务器,然后在设备上提交更改

如果在座的任何人都有SUP方面的经验,我将非常感谢您的帮助

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

好的,所以我发现了问题。文档建议在每次创建对象后调用SubmitPending,因为这样比调用SubmitionPendingOperations更有利于性能

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

在执行同步之前删除此项并执行SubmitPendingOperations以提交创建的项,解决了我的问题

因此,对于任何从Sybase Unwired Platform开始的人来说,只有当您知道对象不会发生任何更改时,才调用SubmitPending