Azure 离线同步 - 未捕获的异常
Azure Offline Sync - Uncaught Exception
我正在使用 Xamarin Forms 和 Azure 尝试在我的移动应用程序中实现离线同步以存储 Machine
对象列表。
在处理离线同步的 class 中,我有一个名为 Initialize()
的函数,用于在我的 phone 或平板电脑中设置本地数据库,用于离线同步
public MobileServiceClient client { get; set; }
IMobileServiceSyncTable<Machine> machineTable;
public async Task Initialize()
{
if (client?.SyncContext?.IsInitialized ?? false)
{
return;
}
var azureUrl = "http://mycoolwebsite.azurewebsites.net";
//Create our client
client = new MobileServiceClient(azureUrl);
//InitialzeDatabase for path
var path = "mylocaldb.db";
path = Path.Combine(MobileServiceClient.DefaultDatabasePath, path);
//setup our local sqlite store and intialize our table
var store = new MobileServiceSQLiteStore(path);
//Define table
store.DefineTable<Machine>();
//Initialize SyncContext -- Populate the local DB!
await client.SyncContext.InitializeAsync(store, new MobileServiceSyncHandler()); //<-- EXCEPTION HERE
machineTable = client.GetSyncTable<Machine>();
// table.PurgeAsync();
}
当我 运行 这段代码时,我 运行 在我上面突出显示的行上出现异常。我错过了什么?作为参考,我正在关注 this 教程。
原来使用时:
await client.SyncContext.InitializeAsync(store, new MobileServiceSyncHandler());
machineTable = client.GetSyncTable<Machine>();
我的 Machine
对象中需要有一个 public string Id { get; set; }
变量,因为构建本地数据库的代码需要这个字段。如果将其添加到某处的文档中,那就太好了!
我正在使用 Xamarin Forms 和 Azure 尝试在我的移动应用程序中实现离线同步以存储 Machine
对象列表。
在处理离线同步的 class 中,我有一个名为 Initialize()
的函数,用于在我的 phone 或平板电脑中设置本地数据库,用于离线同步
public MobileServiceClient client { get; set; }
IMobileServiceSyncTable<Machine> machineTable;
public async Task Initialize()
{
if (client?.SyncContext?.IsInitialized ?? false)
{
return;
}
var azureUrl = "http://mycoolwebsite.azurewebsites.net";
//Create our client
client = new MobileServiceClient(azureUrl);
//InitialzeDatabase for path
var path = "mylocaldb.db";
path = Path.Combine(MobileServiceClient.DefaultDatabasePath, path);
//setup our local sqlite store and intialize our table
var store = new MobileServiceSQLiteStore(path);
//Define table
store.DefineTable<Machine>();
//Initialize SyncContext -- Populate the local DB!
await client.SyncContext.InitializeAsync(store, new MobileServiceSyncHandler()); //<-- EXCEPTION HERE
machineTable = client.GetSyncTable<Machine>();
// table.PurgeAsync();
}
当我 运行 这段代码时,我 运行 在我上面突出显示的行上出现异常。我错过了什么?作为参考,我正在关注 this 教程。
原来使用时:
await client.SyncContext.InitializeAsync(store, new MobileServiceSyncHandler());
machineTable = client.GetSyncTable<Machine>();
我的 Machine
对象中需要有一个 public string Id { get; set; }
变量,因为构建本地数据库的代码需要这个字段。如果将其添加到某处的文档中,那就太好了!