2016-07-26 86 views
4

我想創建一個後臺任務,它在應用程序啓動時啓動。爲此,我使用應用程序觸發器。UWP後臺任務錯誤

MainPage.xaml.cs中

var trigger = new ApplicationTrigger(); 
    BackgroundManagement.RegisterBackgroundTask("InternetBackgroundTask.InternetBackground", "Internet", trigger, null); 
    await trigger.RequestAsync(); 

BackgroundManagement.cs

public static BackgroundTaskRegistration RegisterBackgroundTask(string taskEntryPoint,string taskName,IBackgroundTrigger trigger,IBackgroundCondition condition) 
    { 
     // 
     // Check for existing registrations of this background task. 
     // 

     foreach (var cur in BackgroundTaskRegistration.AllTasks) 
     { 

      if (cur.Value.Name == taskName) 
      { 
       // 
       // The task is already registered. 
       // 

       return (BackgroundTaskRegistration)(cur.Value); 
      } 
     } 

     // 
     // Register the background task. 
     // 

     var builder = new BackgroundTaskBuilder(); 

     builder.Name = taskName; 
     builder.TaskEntryPoint = taskEntryPoint; 
     builder.SetTrigger(trigger); 


     if (condition != null) 
     { 

      builder.AddCondition(condition); 
     } 

     BackgroundTaskRegistration task = builder.Register(); 

     return task; 
    } 

Mytask的另一個項目

namespace InternetBackgroundTask 
{ 
public sealed class InternetBackground : IBackgroundTask 
{ 

    public void Run(IBackgroundTaskInstance taskInstance) 
    { 
     System.Diagnostics.Debug.WriteLine("Run Background Task"); 
    } 
} 

所以,當我啓動我的應用我有這個錯誤:

異常在backgroundTaskHost.exe在0x776BE26B(KernelBase.dll)拋出:0x04242420(參數:0x31415927,0x5DE30000,0x003CED68)。

backgroundTaskHost.exe中的0x776BE26B引發的異常:Microsoft C++異常:內存位置0x003CDF18處的EETypeLoadException。

在backgroundTaskHost.exe中引發0x776BE26B異常:Microsoft C++異常:[rethrow]在內存位置0x00000000。

backgroundTaskHost.exe中的0x776BE26B引發的異常:Microsoft C++異常:內存位置0x003CDF18處的EETypeLoadException。

我引用我的後臺任務在我的項目,我已經添加了我的後臺任務在我的清單

+0

您是否在其他項目中引用了包含後臺任務的Windows運行時組件? – TableCreek

+0

是的,它被引用。 –

+0

您是否可以選擇將操作系統語言更改爲英語?我的法語太糟糕了,無法將其翻譯成英文等同的單詞。我認爲這個錯誤信息聽起來有點兒熟悉。 您是否還嘗試在返回/創建它之前取消註冊任務? – TableCreek

回答

0

有兩件事情至極不是從你剪斷明顯:

你有聲明您在Package.appxmanifest中的「聲明」下的後臺任務?

而第二個: 什麼項目類型是「InternetBackground.cs」?它應該是Windows運行時組件

+0

第一個問題是,我想,這是在他的最後一句話下面的代碼。 –

+0

是的,我宣佈並且是一個很好的項目類型。 –