Проблема времени выполнения с асинхронными вычислениями в F#
У меня возникла проблема с кодом, написанным на языке F# для приложения xamarin forms. Я добавил мобильную службу azure в свое приложение в качестве бэкэнда, а также включил функцию автономной синхронизации. Я могу добавлять записи в бэкэнд, но у меня есть огромная проблема с загрузкой данных из бэкэнда
когда я запускаю приложение и вызывается метод GetTable, приложение останавливается на третьей строке метода. Ничто другое не работает дальше этой точки. Это больше похоже на мертвый бассейн. я думаю, что это ошибка во время выполнения. Любая помощь в этом будет оценена по достоинству....... Примечание: создается экземпляр класса Backend, и метод Initialize вызывается до вызова метода GetTable......
Что я уже пробовал:
type Backend() = let client = new MobileServiceClient("link to the azure table here") let mutable table = Unchecked.defaultof<IMobileServiceSyncTable<Items>> member x.Initialize()= let path = Path.Combine(MobileServiceClient.DefaultDatabasePath,"local.db") let localstore = new MobileServiceSQLiteStore(path) do localstore.DefineTable<Items>() do client.SyncContext.InitializeAsync(localstore) |>Async.AwaitTask|>ignore do table <- client.GetSyncTable<Items>() member x.SyncTable() async { do client.SyncContext.PushAsync() |> Async.AwaitTask |> Async.ignore do table.PullAsync("query", table.CreateQuery()) |> Async.AwaitTask |> ignore } member x.GetTable() = async { do x.SyncTable() |> Async.RunSynchronously() let! result = table.ToEnumerable() |> Async.AwaitTask // the application freezes at this point. return new ObservableCollection<Item>(result) }