2012-09-03 13 views
7

Bana öyle geliyor ki arka plan görevim çalışmıyor/tetikleniyor. Onları hata ayıklamanın ya da bir bütünleştirme testi ile test etmenin herhangi bir yolu var mı? Arka plan görevinArka plan görevlerini hata ayıklama


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

Kayıt:: Ben yeni tanımladığınız tezahür uygulamasında


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

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

(Bu kod debugger ile kontrol çalışır)

Bu örnek arkaplan görevdir , bir System Event ve aşağıdaki giriş noktası ile: MyNamespace.MyBackgroundTask

Not:

cevap

2

bakınız arkaplan görev uygulaması (arka uç/ön uç ayırma) gibi farklı montaj bulunmaktadır. This article başvuruyu nasıl çözeceğinizi gösterir.