后台任务中的Azure移动服务

时间:2015-01-01 11:36:08

标签: xaml windows-phone-8.1 azure-mobile-services background-task

我的问题很简单:我们可以在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();
    }
}

这是我添加的参考: enter image description here

编辑2 我仍然在寻找解决方案,我现在想知道,可能是因为我超出了允许后台任务使用的内存量吗?

1 个答案:

答案 0 :(得分:0)

我不是后台任务方面的专家,但您确实可以在那里使用移动服务SDK。只需确保后台任务不会干扰应用程序,方法是使用应用程序设置锁定两个进程。