我的问题很简单:我们可以在BackgroundTasks中使用MobileServices吗? (WP 8.1 XAML)
我有一个通用应用程序连接到Azure的MobileService,我想让BackgroundTask同步我的远程数据库的数据。
那么,这可能吗?
public sealed class BackgroundTask : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
//Connect to mobile service and add data
deferral.Complete();
}
}
我无法添加对我的WP项目的引用,那么如何获取App.MobileServiceClient? 我的BackgroundTask项目是一个Windows运行时组件。
修改
我通过管理nuGet包添加了对Windows Azure移动服务的引用,我现在可以声明一个mobileService,但是当我想要实现它时,我遇到了以下错误:
BACKGROUNDTASKHOST.EXE' has exited with code 1 (0x1).
所以这就是我现在的代码:
public sealed class BackgroundTask : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
Microsoft.WindowsAzure.MobileServices.MobileServiceClient lolServiceMobileClient =
new Microsoft.WindowsAzure.MobileServices.MobileServiceClient(
"https://myservicemobile.azure-mobile.net/",
"myKey");
deferral.Complete();
}
}
这是我添加的参考:
编辑2 我仍然在寻找解决方案,我现在想知道,可能是因为我超出了允许后台任务使用的内存量吗?
答案 0 :(得分:0)
我不是后台任务方面的专家,但您确实可以在那里使用移动服务SDK。只需确保后台任务不会干扰应用程序,方法是使用应用程序设置锁定两个进程。