Мне нужно запускать мою задачу каждый день в 15:00, но построитель фоновых задач просто берет интервал для повторения задачи. Как этого добиться? (универсальное приложение для Windows 8.1).
Как запустить фоновую задачу в определенное время?
comment
На какую среду вы ориентируетесь? Ваш вопрос слишком общий.
- person user919426   schedule 15.03.2015
comment
Можно ли сделать отдельную программу для выполнения фоновой задачи? Затем вы можете просто запустить планировщик задач Windows, когда вам это нужно.
- person Scott Chamberlain   schedule 15.03.2015
comment
возможный дубликат Создание запланированных задач
- person GregRos   schedule 15.03.2015
comment
Извините за плохой вопрос. Я читал, что запланированные задачи недоступны в WINRT.
- person ahmedwahdan   schedule 15.03.2015
Ответы (2)
Посмотрите на библиотеку планирования.
Раньше я успешно использовал Quartz: http://www.quartz-scheduler.net/
В противном случае более простое и легкое решение, если оно жизнеспособно, состоит в том, чтобы ваш процесс выполнялся в соответствии с расписанием операционной системы. Windows поддерживает и поощряет планирование задач.
person
Michal Ciechan
schedule
15.03.2015
Я рекомендую вам использовать обычный планировщик задач Windows, если это действительно ваша среда. Я бы рассказал вам, как это сделать, но это будет просто повторение предыдущего ответа: Создание запланированных задач< /а>
using System; using Microsoft.Win32.TaskScheduler; class Program { static void Main(string[] args) { // Get the service on the local machine using (TaskService ts = new TaskService()) { // Create a new task definition and assign properties TaskDefinition td = ts.NewTask(); td.RegistrationInfo.Description = "Does something"; // Create a trigger that will fire the task at this time every other day td.Triggers.Add(new DailyTrigger { DaysInterval = 2 }); // Create an action that will launch Notepad whenever the trigger fires td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null)); // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(@"Test", td); // Remove the task we just created ts.RootFolder.DeleteTask("Test"); } } }
person
GregRos
schedule
15.03.2015
Если это действительно дубликат (среда Windows), вопрос следует пометить, а не копировать ответ.
- person Kevin Brown; 15.03.2015
Возможно Вы правы. Я думал, что формулировка вопроса была достаточно другой, чтобы гарантировать другой ответ, но, если подумать, пометка его как дубликата была бы более полезной.
- person GregRos; 15.03.2015