我想創建一個後臺任務,它在應用程序啓動時啓動。爲此,我使用應用程序觸發器。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。
我引用我的後臺任務在我的項目,我已經添加了我的後臺任務在我的清單
您是否在其他項目中引用了包含後臺任務的Windows運行時組件? – TableCreek
是的,它被引用。 –
您是否可以選擇將操作系統語言更改爲英語?我的法語太糟糕了,無法將其翻譯成英文等同的單詞。我認爲這個錯誤信息聽起來有點兒熟悉。 您是否還嘗試在返回/創建它之前取消註冊任務? – TableCreek