Windows服务 - 每隔x秒检查一个文件夹

时间:2012-08-27 05:40:29

标签: c# windows-services

我想第一次创建Windows服务,但只是对它的逻辑有疑问:

我想创建一个服务,每隔x秒,轮询一个目录,读取该目录中的所有文本文件,将详细信息插入数据库,然后归档此文件。

我该如何做到每隔x秒运行一次? (其中x在配置文件中定义)。

我是否会做一个类似于:

的循环
int interval = 5000;
while (TRUE) {
   //my logic
   Thread.Sleep(interval); //pause for 5 seconds
}

这是实现这一目标的公认方法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用FileSystemWatcher代替每x秒检查一次。无论何时创建,删除或更改给定文件夹中的文件或文件夹,您都会收到通知

从msdn。

检查Here

答案 1 :(得分:1)

Alliteratively,您可以使用FileSystemWatcher API。它会在文件夹更改时触发事件。如果您使用笔记本电脑,这可以节省电池寿命。

How can I monitor a Windows directory for changes?