C# 调试后台任务

C# 调试后台任务,c#,windows-runtime,live-tile,C#,Windows Runtime,Live Tile,在我看来,我的后台任务没有工作/触发。是否有任何方法可以调试它们,或使用集成测试进行测试。 这是一个示例后台任务: public sealed class MyBackgroundTask : IBackgroundTask { private ITileService _tileService; //Tried a parameter-less constructor in case IoC doesn't work public MyBackgroundTask() : this(

在我看来,我的后台任务没有工作/触发。是否有任何方法可以调试它们,或使用集成测试进行测试。

这是一个示例后台任务:


public sealed class MyBackgroundTask : IBackgroundTask
{
 private ITileService _tileService;

 //Tried a parameter-less constructor in case IoC doesn't work
 public MyBackgroundTask() : this(new TileService)  {}

 public MyBackgroundTask(ITileService tileService)
 {
     _tileService = tileservice;
 }

        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            Debug.WriteLine("MyBackgroundTask is running " + taskInstance.Task.Name );
            taskInstance.Canceled += TaskInstanceOnCanceled;
            if (!_cancelRequest && SomeOtherCondition)
            {
                var deferral = taskInstance.GetDeferral(); 
                await _tileService.UpdateLiveTile(null);
                deferral.Complete();
            }
        }
}
后台任务的注册: (此代码运行,通过调试器检查)

在应用程序清单中,我定义了一个新的
BackgroundTask
,带有
系统事件和以下入口点:
MyNamespace.MyBackgroundTask

注: 后台任务与应用程序位于不同的程序集中(后端/前端分离)

相关文档:

var backgroundTaskBuilder = new BackgroundTaskBuilder
                                                {
                                                    TaskEntryPoint =
                                                        "MyNamespace.MyBackgroundTask",
                                                    Name = "MyBackgroundTask"
                                                };

                backgroundTaskBuilder.SetTrigger(new MaintenanceTrigger(15, false));
                backgroundTaskBuilder.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));
                backgroundTaskBuilder.Register();