gpt4 book ai didi

c# - Azure Mobile App Offline SQLite Sync 在初始化时挂起

转载 作者:行者123 更新时间:2023-11-30 23:28:14 27 4
gpt4 key购买 nike

我正在尝试创建一个通用 Windows 应用程序,该应用程序使用从 Azure 移动应用程序获取的数据的离线副本。

我创建了一个引用 Microsoft.Azure.Mobile.Client.SQLiteStore 和 SQLite.Net.Async-PCL NuGet 包的可移植项目。

我有一个 DataService 类尝试使用以下代码初始化离线数据库:

if (!_dataSyncClient.SyncContext.IsInitialized)
{
_store = new MobileServiceSQLiteStore(AppConstants.SqliteDatabaseFile);
_store.DefineTable<Language>();

var syncCtx = _dataSyncClient.SyncContext;

await syncCtx.InitializeAsync(_store);
}

但是当我尝试从 UWA 调用此代码时,它卡在 InitializeAsync 方法上,没有异常,什么都没有。我注意到一件事,离​​线 SQLite 是用一个空的语言表和一些空的系统表(__config、__erros、__operations)创建的。

UWA 引用了 Microsoft.Azure.Mobile.Client.SQLiteStore NuGet 包和 SQLite for Universal App Platform dll 版本 3.10.2.0。

最佳答案

移动应用程序 SQLite 存储类与 SQLite.NET 兼容,因为它使用 SQLitePCL。您可能试图从这两个库访问同一个 SQLite 数据库,这可能会导致问题。

如果 SQLite.NET 支持很重要,您可以编写本地存储实现,使用我们的作为起点:Mobile Apps SQLiteStore on GitHub .该设计足够灵活,可以让您替代任何本地商店实现。

有关基于内置 MobileServiceSQLiteStore 的工作示例,请参阅 https://github.com/Azure/azure-mobile-apps-quickstarts/tree/master/client/windows-uwp-cs .该项目包含有关如何添加离线同步支持的说明。您需要添加 UWP SQLite VSIX package并添加对 Microsoft.Azure.Mobile.Client.SQLiteStore 的引用.

关于c# - Azure Mobile App Offline SQLite Sync 在初始化时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36085675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com