WEB开发网
开发学院软件开发C语言 C#发现之旅:C#开发Windows Service程序(下) 阅读

C#发现之旅:C#开发Windows Service程序(下)

 2009-04-06 08:24:16 来源:WEB开发网   
核心提示: 在这个过程中,首先使用MyConfig.Load从数据库中加载系统配置,C#发现之旅:C#开发Windows Service程序(下)(6),然后遍历所有需要监视的路径,对其中的每个路径解析出目录名和文件名,设置FileSystemWatcher对象后将该对象添加到文件系统监视器列表myW

在这个过程中,首先使用MyConfig.Load从数据库中加载系统配置,然后遍历所有需要监视的路径,对其中的每个路径解析出目录名和文件名,然后创建一个FileSystemWatcher对象,设置其Path和Filter属性,还根据MyConfig中的系统配置来绑定监视对象的Changed事件,Created事件,Deleted事件和Renamed事件,以实现对文件系统的监视。这里绑定事件的代码使用了C#2.0的匿名委托的语法功能。设置FileSystemWatcher对象后将该对象添加到文件系统监视器列表myWatchers中。

启动服务后使用EventLog.WriteEntry向Windows系统事件日志添加一些日志信息。

这里使用了一个WriteFileSystemLog方法,该方法代码为

private void WriteFileSystemLog(string ObjectName, string EventStyle )
{
    System.Data.IDbConnection conn = Util.DBConnection;
    if (conn == null)
        return;
    // 将监视结果添加到数据库中
    using (System.Data.IDbCommand cmd = conn.CreateCommand())
    {
        cmd.CommandText = "Insert Into FileSystemLog ( RecordID , WatchTime , ObjectName , EventStyle ) Values ( '" + System.Guid.NewGuid().ToString() + "' , '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' , ? , '" + EventStyle + "')" ;
        System.Data.IDbDataParameter p = cmd.CreateParameter();
        p.Value = ObjectName;
        cmd.Parameters.Add(p);
        cmd.ExecuteNonQuery();
    }
}

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:发现 之旅 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接