Должен ли я перевести мой таймер в спящий режим, когда мой основной метод работает в службе Windows - PullRequest
0 голосов
/ 19 декабря 2008

В моей службе Windows .net, когда истекает мой таймер и вызывается мой основной метод, лучше ли переводить таймер в спящий режим?

Это в случае, если мой метод main выполняется слишком долго, и таймер истекает до того, как предыдущий вызов метода main завершает свое выполнение.

Ответы [ 2 ]

1 голос
/ 20 декабря 2008

Помимо того, что упомянул BobbyShaftoe, я хотел бы предложить использовать блок try / catch / finally и поместить код для перезапуска таймера в блок finally. Поэтому в случае возникновения исключения ваш таймер все равно будет перезагружен и запущен позже. Если только вы не предпочли бы, чтобы это прекратилось на неопределенный срок.

1 голос
/ 19 декабря 2008

Это на самом деле не «основной метод», но я предполагаю, что вы просто имеете в виду метод, который вызывается в результате прошедшего события. Это зависит. Вам нужно, чтобы он выполнялся каждый интервал, или вам просто нужно, чтобы процесс запускался через каждый интервал, и если он уже запущен, ничего не делайте.

Если последний случай, как я подозреваю, так как вы спрашиваете об этом, тогда да, продолжайте и остановите свой таймер как первый оператор в обработчике прошедшего события. Затем снова запустите таймер, когда закончите со всем остальным в «основном методе».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...