簡體   English   中英

Windows應用商店后台任務

[英]Windows Store Background Task

我正在嘗試測試我的后台任務:

這是我的任務注冊:

    protected override async void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        foreach (var task in BackgroundTaskRegistration.AllTasks)
        {
            task.Value.Unregister(true);
        }
        await BackgroundExecutionManager.RequestAccessAsync();
        var builder = new BackgroundTaskBuilder();
        builder.Name = "MySampleTask";
        builder.TaskEntryPoint = "TestApplication.MyBackgroundTask";
        builder.SetTrigger(new TimeTrigger(15,false));
        var ret = builder.Register();
    }

這是我的BackGround Task類:

namespace TestApplication
{
public sealed class MyBackgroundTask : IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {
        FetchDataFromServerAsync();
    }

    public async Task FetchDataFromServerAsync()
    {
        if (Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile() != null)
        {
            HttpClient httpClient = new HttpClient();
            HttpResponseMessage response = await httpClient.GetAsync(@"http://www.inbox.lv");
            response.EnsureSuccessStatusCode();
            string responseBodyAsText = await response.Content.ReadAsStringAsync();
            await FileManager.FlushDataToFileAsync(responseBodyAsText, DateTime.Now.ToString("dd.MM.yyyy_HH.mm.ss") + ".txt");
        }
    }
}

}

這是我的清單:

<Extensions>
    <Extension Category="windows.backgroundTasks" EntryPoint="TestApplication.MyBackgroundTask">
      <BackgroundTasks>
        <Task Type="timer" />
      </BackgroundTasks>
    </Extension>
  </Extensions>

當我通過“調試”位置觸發后台任務時-我的應用程序僅關閉且沒有斷點被命中。

樣例應用

Microsoft提供了許多示例應用程序,它們顯示了如何使用Windows Store特定的API。 后台任務就是其中之一。 您可以繼續並在code.msdn.microsoft.com上下載所有程序,僅從網站下載后台任務示例。

另一個項目中的后台任務

我之前讀過一些有關后台任務的信息,並且我確實記得有提到您的任務需要在另一個項目中進行的內容。 確實,當您打開示例項目並查看解決方案資源管理器時,您可以立即看到情況確實如此。

在此處輸入圖片說明

注意文件SampleBackgroundTask.vb如何位於第二個項目“ Tasks中。

(不要被vb文件嚇到,還有C#示例)

我建議您完成后台任務

到目前為止,我已經完成了多個Windows Runtime API示例以完成我的工作,並且它們都工作了。

我想您最好的選擇是瀏覽上面鏈接的示例應用程序的代碼,看看您的代碼與示例代碼之間的區別。

祝你好運。 如果您需要更多規格,請發表評論,我可以自己進一步研究后台任務以幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM