.NET4 Windows Service 监控磁盘文件

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

具体步骤如下:

 

     一、建立WindowsSerivce 工程


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

2011020321170835.png

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

 

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


     代码如下:

      2011020411334273.png

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

 

WindowsService 调用代码:

2011020411494819.png

 

      三、为WindowsSerivce添加Installer


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

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

                 2.选择 Add Installer 栏目

                 3.设置相关属性

截图如下:

2011020418422933.png

 

       四、打包WindowsService


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

2011020322243481.png

点击确定:

2011020322251322.png

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

2011020322282613.png

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

2011020322303526.png

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

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

 

        五、小结


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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值