【发布时间】:2011-08-18 00:08:56
【问题描述】:
我正在学习 .net 并按照下面的教程编写服务 http://www.beansoftware.com/NET-Tutorials/Create-Windows-Services.aspx
windows 服务安装成功,它也启动了。但是当我更改文件名或删除文件或添加文件时,它不会将任何信息添加到我的日志文件中 C:\Folder\FolderLog.txt
我看到了 FolderWatcher_** 的 3 种方法,但我在代码中没有看到对这些方法的调用。我对 .net 很陌生,所以我不确定它们是如何被调用的
这是我的完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace Watcher
{
public partial class Watcher : ServiceBase
{
public Watcher()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
private void FolderWatcher_Created(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\folder\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been created. ");
writer.Close();
}
private void FolderWatcher_Deleted(object sender, System.IO.FileSystemEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\folder\\FolderLog.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been deleted. ");
writer.Close();
}
private void FolderWatcher_Renamed(object sender, System.IO.RenamedEventArgs e)
{
TextWriter writer = new StreamWriter("C:\\folder\\log.txt", true);
writer.WriteLine(DateTime.Now + " A new folder/file with name " + e.Name + " has been renamed. ");
writer.Close();
}
}
}
我已遵循该教程中的每一步。我还没有看到任何描述这些方法是如何被调用的。任何帮助都会很棒
【问题讨论】:
-
也许,我不确定,因为我从未创建过服务,可能存在权限问题。 Windows 7 对权限特别严格(更好),如果您不是管理员,则无法在某些路径上写入。希望这在某种程度上有所帮助
-
您是否按照教程中的第 6 步进行 - 将设计器创建的 FolderWatcher 挂接到上面显示的事件处理程序?
标签: c# .net visual-studio-2010 c#-4.0