Не удается обновить коллекцию с помощью Akavache
Я пишу приложение UWP с MVVM, а не Xamarin. Этот код вызывает исключение System.Runtime.InteropServices.COMException для Tenders.Clear();
public ObservableCollection<Tender> Tenders { get; set; }
private void GetTendersFromCache()
{
Tenders = new ObservableCollection<Tender>();
var cache = BlobCache.LocalMachine.GetAndFetchLatest("TendersResponse",
async () => await _dataService.GetTenders());
cache.Subscribe(cachedTenders =>
{
Tenders.Clear();
foreach (var tender in cachedTenders)
{
Tenders.Add(tender);
}
});
}
Как правильно обновить коллекцию Тендеров?
Поместите этот код в Dispatcher.InvokeAsync не поможет.
Информация об исключении
Исключение типа "System.Runtime.InteropServices.COMException" возникло в mscorlib.ni.dll, но не было обработано в коде пользователя. Дополнительная информация: Приложение вызвало интерфейс, который был назначен для другого потока. (Исключение из HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))