gpt4 book ai didi

c# - filesystemwatcher 作为 Windows 服务?

转载 作者:太空狗 更新时间:2023-10-29 19:40:05 25 4
gpt4 key购买 nike

我正着手创建一个应用程序,该应用程序将监视一个目录以查找任何已创建的文件。使用 filesystemwatcher 的时间非常简单。我的问题与如何使用它有关。使用 Windows 服务来确保应用程序始终运行是否是常见的做法?

如果没有必要,我一直在努力避免构建 Windows 服务,但在这种情况下,我真的没有看到以这种方式进行的替代方法。通常,我会将我的服务转换为控制台应用程序并使用 Windows 调度程序对其进行调度,但这在这种情况下并不适用。

谁能推荐一种比 Windows 服务更好的实现 filesystemwatcher 的方法?

感谢您的任何想法。

编辑针对下面的评论,更具体地说,我只需要查看服务器上的一个目录,当创建一个新文件时,我必须将该文件的副本移动到同一台服务器上的不同目录中,也许重命名它在此过程中。

文件的频率和数量会相当小。一天最多 5-10 次。

最佳答案

我还不确定文件观察器是如何工作的,但这就是我的想法:文件系统触发事件;我的意思是 NTFS 必须这样做。您的文件观察器与这些事件 Hook 。文件观察器可能会挂起它正在运行的线程,直到事件发生并且事件以某种方式唤醒线程。挂起的线程在挂起时使用非常少的 cpu 周期(实际上没有),因此等待文件事件不需要任何成本。因此,轮询方法会浪费 cpu 周期的 mucho beaucoup(这是法语,意思是“狗屎负载”),但文件观察器不会。您可能会查看 PerfMon 以查看这是否可能是真的。

关于c# - filesystemwatcher 作为 Windows 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3981035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com