2016-08-08 2 views
2

Я понимаю, мы можем получить количество незавершенных элементов поПолучить список ожидающих элементов определенного типа в Azure синхронизации

PendingChanges = manager.MobileServiceClient.SyncContext.PendingOperations;

, но это только получает мне общее количество ожидающих элементов. что мне делать, если мне нужно показать список всех незавершенных элементов, которые еще не синхронизированы с определенным типом? Есть ли способ, которым мы можем это сделать?

Благодаря

ответ

1

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

await client.SyncContext.InitializeAsync(store, StoreTrackingOptions.NotifyLocalAndServerOperations);

Вы можете подписаться на магазин событий операций следующим образом:

subscription = client.EventManager.Subscribe<StoreOperationCOmpletedEvent>(StoreOperationEventHandler);

Вы можете получить вики издание этой заметки здесь: https://github.com/Azure/azure-mobile-apps-net-client/wiki/How-to-get-notifications-of-new-records-added-during-Pull-operation

+0

Спасибо Адриан, я попробую. – Supreet

+1

Существует открытая проблема GitHub, чтобы получить отложенные операции: https://github.com/Azure/azure-mobile-apps/issues/2 –

0

У меня был успех с таким методом:

public async Task<string> GetPendingOperationsAsync() 
{ 
    var query = MobileServiceTableQueryDescription.Parse("__operations", null); 
    var jsonResult = await myClient.SyncContext.Store.ReadAsync(query); 
    return jsonResult.ToString(); 
} 

Все, о чем я заботился, получал строку, в которую я мог перейти к сообщению об ошибках, но вы можете отбросить часть ToString(), если вы хотите программно просмотреть данные как дерево JToken. Кроме того, вместо null я считаю, что вы можете передать запрос в вызов Parse(), чтобы отфильтровать ваши результаты, например, по типу.

Очевидно, что это зависит от внутренней реализации Azure Mobile Services, поэтому используйте на свой страх и риск.

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