【发布时间】:2010-10-20 18:23:09
【问题描述】:
我正在着手创建一个应用程序,该应用程序将监视创建的任何文件的目录。使用文件系统观察器的时间非常简单。我的问题与如何使用它有关。使用 Windows 服务来确保应用程序始终运行是常见的做法吗?
如果我不需要,我一直试图摆脱构建 Windows 服务,但在这种情况下,我真的没有看到这样做的替代方法。通常,我会将我的服务转换为控制台应用程序并使用 Windows 调度程序对其进行调度,但这并不真正适用于这种情况。
谁能推荐一种比 Windows 服务更好的实现文件系统观察器的方法?
感谢您的任何想法。
编辑 为了响应下面的 cmets,更具体地说,我只需要查看服务器上的目录,当创建新文件时,我必须将该文件的副本移动到同一服务器上的不同目录中,也许重命名它在这个过程中。
文件的频率和数量会很小。一天最多可能 5-10 次。
【问题讨论】:
-
也许可以在内存占用较少的语言/运行时实现服务,并且仅在找到新文件时运行您的 C# 程序。
-
@CodeInChaos - 不是一个好主意。实现本机 FSW 功能要困难得多,双进程解决方案也很复杂。我以为我们已经摆脱了关于托管代码的刻板印象?
-
真的吗,CodeInChaos?我完全是为了提高效率,但我不确定您的评论是否特别有建设性,而且我当然不想成为稍后在为项目的不同部分切换语言时挖掘某人代码的人。 (话虽这么说,我想我们都经常这样做......)
-
您的问题不清楚。您建议使用 FSW 来确保应用程序正在运行?
标签: c# windows-services filesystemwatcher