public BackgroundTaskRegistrationResult RegisterTimedBackgroundTask(string timerClassName)
{
BackgroundTaskRegistrationResult result = new BackgroundTaskRegistrationResult()
{
Success = false,
Exception = null
};
if (BackgroundTaskRegistered(TimerClass))
{
// Already registered
result.Success = true;
}
else
{
BackgroundTaskBuilder backgroundTaskBuilder = new BackgroundTaskBuilder();
backgroundTaskBuilder.Name = TimerClass;
backgroundTaskBuilder.TaskEntryPoint = timerClassName;
TimeTrigger timeTrigger = new TimeTrigger(TimeTriggerIntervalInMinutes, false);
backgroundTaskBuilder.SetTrigger(timeTrigger);
try
{
BackgroundTaskRegistration backgroundTaskRegistration = backgroundTaskBuilder.Register();
backgroundTaskRegistration.Completed += OnTimedBackgroundTaskCompleted;
result.Success = true;
}
catch (Exception ex)
{
result.Exception = ex;
Logger.Error("BackgroundTaskManager.RegisterTimedBackgroundTask(): Failed to register: " , ex);
}
}
return result;
}