2015-10-14 2 views
2

Мы пытаемся использовать Azure Mobile Services для автономной синхронизации с приложением iOS, работающим на iPhones и iPads.Документация для Azure Mobile Services offline sync

До сих пор у нас есть только очень простое приложение, которое пытается синхронизировать с одной таблицей. Иногда это работает нормально, иногда это медленно, как черт, иногда это время, иногда он терпит неудачу сразу с внутренними ошибками «таблицы не найдены».

Мы не смогли найти никакой реальной документации по этой структуре. Существует ряд онлайн-руководств, но нет углубленной документации.

Кто-нибудь знает, где мы можем найти лучшие документы о том, как использовать и как справиться с проблемой, этот API?

Есть ли место, где мы могли бы найти более подробную информацию о том, что на самом деле пошло не так, когда наша клиентская сторона вызывает ошибку?

ответ

2

Первичные два Docs здесь:

Предоставленный те оба все еще довольно высокий уровень, но последний должен быть немного более полезным в поиске неисправностей.

Также проект с открытым исходным кодом здесь: https://github.com/Azure/azure-mobile-services/tree/master/sdk/iOS, и вы можете создать рабочую область с ним, если хотите попасть во внутренние детали.

Ошибки синхронной операции (вставка/обновление/удаление), как правило, были бы проблемой только с CoreData, и они просто отображали ошибку, которую они получили внутренне.

Для Push/Pull они могут обернуть ошибки в массиве, поскольку может быть 1/элемент синхронизирован, но опять же основная ошибка должна быть доступна.

Ошибка внутренней таблицы не связана с тем, что таблица не определена в CoreData. Это происходит, когда код не может создать сущность для данной таблицы (см.: https://github.com/Azure/azure-mobile-services/blob/master/sdk/iOS/src/MSCoreDataStore.m#L51). Я бы рассмотрел, как вы инициализируете свой контекст управляемого объекта, и если ваша модель верна.

Для проблемы с медлительностью, я полагаю, вы используете бесплатную мобильную услугу, которая, если она не используется в течение определенного периода времени, может быть сбита и должна запускаться при первом запуске API. (Этот процесс не происходит в базовых/стандартных уровнях)

Также по умолчанию для сетевого таймаута iOS составляет 30 секунд, поэтому допустимая сетевая проблема также может быть медленной.

И, наконец, это также может быть объем данных, по умолчанию 50 записей выходят за один раз во время Pull (так что если вы сначала синхронизируете 5k строк, это займет 500 остановок, но после этого это будет только потяните за изменения, которые будут 1-2 поездки.

+1

Мы видели обе эти ссылки, и ни то, что я бы назвал фактической документацией. Это учебники - примеры того, как получить простое приложение, а не документация по всем доступным функциям, а таблица определена, а иногда и синхронизация с ней работает. И не удается, в другое время, без внесения каких-либо изменений в Azure или на клиенте. –

+1

Я согласен, что необходимы более подробные документы на эту тему, и в работе, я считаю, что новая домашняя страница будет здесь: https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-offline-data-sync-preview/и в конечном итоге будет иметь более подробные документы, а не только учебники. – phillipv

+0

Для основной ошибки создания объекта данных моя гипотеза - это контекст управляемого объекта, который вы предоставляете, не создается с помощью типа NSPrivateQueueConcurrency, если он иногда работает с этой ошибкой. – phillipv

Смежные вопросы