【问题标题】:UWP Background Task ErrorUWP 后台任务错误
【发布时间】:2016-11-29 22:18:14
【问题描述】:

我想创建一个在应用程序启动时启动的后台任务。为此,我使用应用程序触发器。

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;
    }

我在另一个项目上的任务

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 运行时组件?
  • 是的,它被引用了。
  • 您可以选择将操作系统语言更改为英文吗?我的法语太糟糕了,无法将其翻译成等效的英语单词。我认为错误消息对我来说听起来有点熟悉。您是否也尝试在返回/创建新任务之前取消注册?
  • 我将错误消息法语更改为英语。是的,我尝试注销,我什至卸载并安装了我的应用程序。
  • 请用英文发给我。

标签: c# exception uwp background-task


【解决方案1】:

有两件事从你的截图中看不出来:

您是否在 Package.appxmanifest 中的“声明”下声明了您的后台任务?

第二个: “InternetBackground.cs”在什么项目类型中?它应该是一个 Windows 运行时组件

【讨论】:

  • 我认为第一个问题是肯定的,它在代码下面的最后一句话中。
猜你喜欢
  • 2018-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多