.NET4 Windows Service 监控磁盘文件

     曾在VS2008下用C#编写过WindowsService监控进销存库存并且根据相关逻辑发送手机短信。现在.NET4.0、VS2010中使用C#编写Windows Service 监控指定目录文件。

具体步骤如下:

 

     一、建立WindowsSerivce 工程

     新建 Visual C# windows 目录下的 Windows Service 工程:"HelloWindowsService"。添加一个 App.config(配置文件,如:指定监控磁盘目录),一个ErrorLog.txt文件(记录服务运行日志)。截图如下:

.NET4 Windows Service 监控磁盘文件_第1张图片

注:为了方便调用App.config 配置文件内容,在工程内需要引入System.Configuration.dll 。

 

    二、为WindowsSerivce编写监控目录核心代码

     代码如下:

      .NET4 Windows Service 监控磁盘文件_第2张图片

 RecordErrorLog 函数记录了WindowsService 的具体监控内容。OnFileCreated 则是监控目录,如果有新文件建立则触发的事件。这里使用FileSystemWatcher类。

 

WindowsService 调用代码:

.NET4 Windows Service 监控磁盘文件_第3张图片

 

      三、为WindowsSerivce添加Installer

        在第二步中,已经完成为目录监控事件写入了简单的监控代码。此时还需要为Service添加Installer。Installer内需要设置Service名称、WindowsService说明等信息。具体的步骤可以在VS2010可视化界面内完成。步骤如下:

                 1.打开Service1设计界面点击鼠标右键

                 2.选择 Add Installer 栏目

                 3.设置相关属性

截图如下:

.NET4 Windows Service 监控磁盘文件_第4张图片

 

       四、打包WindowsService

     这里使用Visual Studio Installer 打包 HelloWindowsService 服务。在解决方案内新建一个Visual Studio Installer工程。接着右键该工程选择 添加 ---> Project Output。 截图如下:

.NET4 Windows Service 监控磁盘文件_第5张图片

点击确定:

.NET4 Windows Service 监控磁盘文件_第6张图片

接着还要为WindowsService添加安装和卸载功能。右键该项目文件(HelloWindowsServiceSetup工程)选择View后点击Custom Actions:

.NET4 Windows Service 监控磁盘文件_第7张图片

右键Install后选择 Add Custom Action,不做任何设置点击两次确定,对UnInstall进行同样的操作。截图如下:

.NET4 Windows Service 监控磁盘文件_第8张图片

以上步骤完成后还需要在安装工程内添加一个已存在的文件,该文件就是HelloWindowsService内的日志记录文件“ErrorLog.txt”。

至此,已经为HelloWindowsService添加了安装和卸载功能。

 

        五、小结

       完成以上步骤后还需要将 ProjectInstaller的serviceProcessInstaller1的Account 属性设置成 LocalSystem。这样每次安装服务就不需要输入Windows 帐号和密码。另外如果需要服务安装成功后自动启动,还需要修改ProjectInstaller.cs。为其添加AfterInstall事件,在该事件内添加启动服务代码。这样服务安装完成后就能够自启动了。

 

.NET下编写WindowsService很方便也很简单。如果您也感兴趣.NET下编写WindowsService那就赶紧尝试一下吧。


原文链接: http://www.cnblogs.com/ryanding/archive/2011/02/04/1948746.html

你可能感兴趣的:(.NET4 Windows Service 监控磁盘文件)