системный таймер - PullRequest
       33

системный таймер

0 голосов
/ 21 июля 2011

Я разрабатываю одно приложение для чата на c #, и для этого мы используем system.timer.timer для частого получения данных для нового запроса и запроса зоны.

все работает нормально, но когда я выхожу из приложения, тогда этот системный таймер по-прежнему работает в фоновом режиме и выдает ошибку.

Пожалуйста, помогите мне в этом.

заранее спасибо

Ответы [ 3 ]

1 голос
/ 21 июля 2011

Вам нужно позвонить Stop() при выходе.

0 голосов
/ 21 июля 2011

Я бы сказал, что что-то еще блокирует вашу программу.System.Timers.Timer создает поток в пуле потоков, что означает его фоновый поток, то есть он завершает работу, когда это делает основной поток.

Я думаю, что это в запросах, которые вы делаете в своей функции timer_elapsed, которая выполняется в вашем основном потоке.

0 голосов
/ 21 июля 2011

Я полагаю, вы уже пробовали Stop() и Close(). Если это так, решение может быть следующим: во время закрытия вашего приложения сделать пару шагов Sleep() основным потоком, чтобы позволить потоку таймера освободить ресурсы, выделенные ранее.

Может также быть ошибка в приложении, которая по какой-то причине блокирует поток таймера, но мне трудно сказать, вы должны проверить это самостоятельно.

Надеюсь, это поможет.

Привет.

...