2013-04-30 2 views
1

Я использую SUP 2.1.3Удаленные синхронизирует

Я провел последние несколько часов, пытаясь выяснить, почему любой элемент удаляет синхронизируются с SUP Cache.

Кажется, единственный способ удалить экземпляр MBO, который вы создаете, - это вызвать CancelPending().

Я прочитал документацию, и он говорит, что вызывается Delete(), но delete не генерируется с какой-либо реализацией.

Функция Удалить генерируется следующим образом:

public void Delete() 

    { 

     throw new Sybase.Persistence.NoSuchOperationException(); 

    } 

Так что, когда я называю CancelPending() на экземпляре MBO Я хочу удалить, она удаляет его локально, но когда устройство синхронизирует отправляет все ожидающие объекты , включая удаленные, на Sybase Server.

Похоже, что когда он выполняет синхронизацию, он откатывает удаления, отправляя их на сервер, а затем фиксируя изменения на устройстве.

Если кто-то здесь имеет опыт работы с SUP я был бы весьма признателен за помощь

Update: Ok, так что я понял, что только выполнение логического удаления не фактическое удаление, поэтому мой вопрос остается, как может Я удаляю объект, но не синхронизирую его с сервером?

ответ

0

Хорошо, поэтому я обнаружил проблему. Документация предложила позвонить SubmitPending() после каждого создания объекта, так как это было лучше для Performance, а затем вызвало SubmitionPendingOperations().

Это была блокировка объекта для синхронизации и не позволяла удалять или обновлять вызовы объектов.

Снятие этого и выполнение SubmitPendingOperations() для отправки созданных объектов непосредственно перед выполнением Синхронизация решает мои проблемы.

Так урок кому-либо еще, начиная с Sybase Unwired Platform, только называют SubmitPending(), когда вы знаете, за то, что собираются не будет никаких изменений в объекте