Если вы можете избежать написания оконной службы, вы упростите свою жизнь - запланированные задачи могут быть лучшим вариантом здесь. Службы Windows лучше всего использовать для вещей, где есть некоторая постоянная фоновая активность, котораядолжно произойти - не для запуска задач в течение длительного периода времени.
Однако, если вы должны сделать это службой Windows, тогда вы не хотите устанавливать тайм-аут ожидания с большим таймером. Это определенно проблемный подход.Что произойдет, если ваше приложение будет перезапущено?Как он узнает, как долго он спит?Или что, если поток будет перезапущен?
Лучшим подходом является запись где-нибудь в базе данных записи, которая идентифицирует, когда следующий импорт должен произойти как дата / время. Ваша служба Windows можетпериодически просыпайтесь (каждые несколько минут или часов) и смотрите, превышает ли текущая дата / время это значение.Если это так, запустите импорт и обновите дату следующего запуска в базе данных до следующего запуска.
Если ваше приложение перезапускается, вы просто считываете значение из базы данных и продолжаете, как и раньше.