示例#1
0
        internal TaskManifest(TaskConfigurationCollection configuredTasks)
        {
            if (configuredTasks == null)
            {
                throw new ArgumentNullException("configuredTasks");
            }

            _CallbackBaseUri = configuredTasks.CallbackBaseUri;
            var taskList = new List <ConfiguredTask>();

            using (var taskBuilder = new TaskBuilder(_CallbackBaseUri))
            {
                foreach (TaskConfigurationElement element in configuredTasks)
                {
                    taskList.Add(taskBuilder.Create(_ClockSource, element.Periodicity, element.Hour, element.Minute, element.Url));

                    if (this.CallbackBaseUri == null)
                    {
                        this.ScavengeForCallbackBaseUri(element.Url);
                    }
                }
            }

            _TaskCollection = new ImmutableTaskCollection(taskList);
        }
示例#2
0
        internal TaskManifest(TaskConfigurationCollection configuredTasks)
        {
            if (configuredTasks == null)
            {
                throw new ArgumentNullException("configuredTasks");
            }

            _CallbackBaseUri = configuredTasks.CallbackBaseUri;
            var taskList = new List<ConfiguredTask>();

            using (var taskBuilder = new TaskBuilder(_CallbackBaseUri))
            {
                foreach (TaskConfigurationElement element in configuredTasks)
                {
                    taskList.Add(taskBuilder.Create(_ClockSource, element.Periodicity, element.Hour, element.Minute, element.Url));

                    if (this.CallbackBaseUri == null)
                    {
                        this.ScavengeForCallbackBaseUri(element.Url);
                    }
                }
            }

            _TaskCollection = new ImmutableTaskCollection(taskList);
        }
示例#3
0
        private void AddTask(IClockSource clockSource, PeriodicityType periodicity, int hour, int minute, Uri url)
        {
            using (var taskBuilder = new TaskBuilder(this.CallbackBaseUri))
            {
                ConfiguredTask taskConfig = taskBuilder.Create(clockSource, periodicity, hour, minute, url);

                if (_TaskCollection.Add(taskConfig))
                {
                    if (this.CallbackBaseUri == null)
                    {
                        this.ScavengeForCallbackBaseUri(taskConfig.Url);
                    }

                    this.Schedule(this.PrepareNextCallback(taskConfig));

                    if (!_CurrentState.IsActive)
                    {
                        Start();
                    }
                }
            }
        }
示例#4
0
        private void AddTask(IClockSource clockSource, PeriodicityType periodicity, int hour, int minute, Uri url)
        {
            using (var taskBuilder = new TaskBuilder(this.CallbackBaseUri))
            {
                ConfiguredTask taskConfig = taskBuilder.Create(clockSource, periodicity, hour, minute, url);

                if (_TaskCollection.Add(taskConfig))
                {
                    if (this.CallbackBaseUri == null)
                    {
                        this.ScavengeForCallbackBaseUri(taskConfig.Url);
                    }

                    this.Schedule(this.PrepareNextCallback(taskConfig));

                    if (!_CurrentState.IsActive)
                    {
                        Start();
                    }
                }
            }
        }