2015-05-11 2 views
-3

Может ли один говорят: «Как назвать конкретный метод один раз в неделю в C# консольное приложение»Как вызвать метод один раз в неделю, используя C#

Спасибо.

+2

"еженедельно один раз"? Наверное, это противоречиво. Или вы имели в виду «раз в неделю», как в «один раз в неделю» (что, кстати, это то же самое, что и «еженедельно»). – paxdiablo

+0

Waqas, я оставлял его до OP, чтобы уточнить, но если вы собираетесь прыгать и предполагать, что так или иначе, вы, вероятно, должны изменить название также :-) – paxdiablo

+1

Вы можете использовать планировщик задач Windows и планировать его выполнение один раз в неделю. – ElectricRouge

ответ

4

Если вы просто хотите запустить код из внешнего приложения, то планировщик задач Windows является опцией. Он позволяет автоматически запускать исполняемый файл.

1

Консольное приложение выглядит как хрупкий способ сделать это. Я предлагаю отделить планирование задачи от самой задачи. Windows имеет встроенную поддержку планирования в виде Планировщика заданий (полностью отличного от своего тезиса в .Net TPL).

Так что создайте консольное приложение и планируйте его запуск в неделю. Если ему нужно поддерживать состояние в течение недели, то используйте его как службу Windows, которая может продолжать работать.

В API-интерфейсе планировщика задач есть хорошая оболочка: https://taskscheduler.codeplex.com/, чтобы вы могли даже настроить запланированную задачу из .Net.

0

У вас есть несколько вариантов.

Тот, который я использую, добавляет приложение в планировщик задач. Там вы можете указать интервал в том, что он должен быть выполнен. Недостатком этого метода является то, что вы не можете использовать какой-либо другой метод в другом интервале, если вы не добавите его в свое приложение.

Второй вариант заключается в использовании System.Threading.Thread.Sleep Если вы хотите использовать его, просто сделать что-то вроде:

while(true) 
{ 
//execute a method 
System.Threading.Thread.Sleep(1000*60*60*24*7); 
} 

Недостатком здесь является то, что вы должны использовать многопоточность, если вы хотите, чтобы выполнять другие методы во время отхода ко сну ,

Смежные вопросы