首先是代码:
public partial class Watcher : ServiceBase
{
private const string PathToFolder = @"D:\print\";
public Watcher()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
private void fileWatcher_Changed(object sender, FileSystemEventArgs e)
{
if (e.Name != "test.txt")
{
return;
}
using (var r = new StreamReader(e.FullPath))
{
var json = r.ReadToEnd();
dynamic tempTest = JsonConvert.DeserializeObject(json);
const string filename = PathToFolder + "textParsed.txt";
if (File.Exists(filename))
{
File.Delete(filename);
}
using (var file = File.CreateText(filename))
{
file.WriteLine(tempTest.Name.ToString());
}
}
}
}
如果text.txt
文件有变化,我想要解析该文本文件的内容并创建另一个文件。如果我将VS附加到服务并调试服务,则会触发该事件,但是当正常运行时,没有任何反应。
安装程序具有LocalSystem权限,这几乎是我所做的所有更改......应该非常简单,但不知何故不是。