Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Планировщик


Автор: V1rus 24.11.2008, 13:09
Всем привет, может кто делал уже такое? нужно что бы функция вызывалась определенное количество дней(например полтора месяца), по определенным дням неделям, и в эти дни например через каждые 30 минут, как лучше это реализовать? с помощью System.Threading.Timer class и TimeSpan или еще как, просьба поделится опытом

Автор: Veitmen 24.11.2008, 13:14
ХМ. Поточнее. У тебя есть служба которая работает и тебе надо по истечении какого то промежутка времени выполнять что либо? Или ты хочешь запускть периодически программу в определенное время? Или у тебя application будет всегда запущен и надо что бы он отселживал сколько прошло времени и что то делал?

Автор: V1rus 24.11.2008, 14:41
третий вариант)

Автор: EgoBrain 24.11.2008, 15:02
Количество запусков пишешь либо в реестр либо в файл ну и соответственно проверяешь каждый раз при запуске существование записи,
если есть, то инкрементишь значение, если нет, то создаешь новую.
А теперь собственно по самому вопросу:
Цитата

"по определенным дням недели"

Код

using System.Threading;
...

while(true)
{
if(DateTime.Now.DayOfWeek == DayOfWeek.[нежный день недели] || DateTime.Now.DateOfWeek == ...) //Проверить на необходимый день недели
   function(); //Запустить функцию

Threading.Sleep(108000); //Остановить программу на 30 минут
}


Автор: V1rus 24.11.2008, 15:09
хотелось бы чере таймеры сделать все же, использу TimeSpan и метод change у threading timer, а не с помощью сна потока...

Автор: jorikdima 24.11.2008, 15:26
Да так пойдет, почему нет.

Автор: V1rus 24.11.2008, 16:27
ну поточу что так надо)

Автор: Veitmen 24.11.2008, 17:16
http://msdn.microsoft.com/ru-ru/library/system.threading.timer.aspx

Добавлено через 33 секунды
http://msdn.microsoft.com/ru-ru/library/yz1c7148.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)