Har*_*ter 9 c# windows-services filesystemwatcher
我必须创建一个程序来监视文件大小的变化.我已经制作了一个简单的Windows服务和filesystemwatcher,所以我现在熟悉这个概念.我还制作了一个代码,用于检查filesize(在表单按钮中创建)但尚未在我的filesystemwatcher中实现.如何创建具有监视文件大小的filewatcher的Windows服务?我是否必须在Windows服务中放置filesystemwatcher并通过OnStart方法调用观察者?
Luk*_*att 16
如果您正在制作Window的服务,那么您将希望以编程方式进行.我通常会从我的服务中保留表单,并为它们建立一个单独的界面进行通信.现在,FileSystemWatcher没有一个只能查看大小的事件,因此您需要创建一个与FileSystemWatcher.Changed绑定的方法来检查对现有文件的修改.在OnStart方法中声明并初始化控件,并将事件绑定在一起.在OnStop方法中执行任何清理代码.它应该看起来像这样:
protected override void OnStart(string[] args)
{
FileSystemWatcher Watcher = new FileSystemWatcher("PATH HERE");
Watcher.EnableRaisingEvents = true;
Watcher.Changed += new FileSystemEventHandler(Watcher_Changed);
}
// This event is raised when a file is changed
private void Watcher_Changed(object sender, FileSystemEventArgs e)
{
// your code here
}
Run Code Online (Sandbox Code Playgroud)
另请注意,FileSystemWatcher将为单个文件触发多个事件,因此当您调试监视模式以解决它时.