首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 開發 Windows Service 程序(下):MyConfig 設定載入與路徑解析邏輯

     編輯:關於C語言

MyConfig.Load() 完整實作

從 SystemConfig 讀取所有設定,解析路徑與布林旗標:

public void Load() {
    myWatchedPaths = null;
    ArrayList paths = new ArrayList();
    using (IDbCommand cmd = Util.DBConnection.CreateCommand()) {
        cmd.CommandText = "SELECT ConfigName, ConfigValue FROM SystemConfig";
        using (IDataReader reader = cmd.ExecuteReader()) {
            while (reader.Read()) {
                string name = reader.GetValue(0)?.ToString()?.Trim().ToLower();
                if (string.IsNullOrEmpty(name)) continue;
                string value = reader.GetValue(1)?.ToString();

                if (name.StartsWith("path")) {
                    paths.Add(value?.Trim());
                } else if (name == "logrenamed") {
                    bolLogRenamed = Convert.ToBoolean(value);
                } else if (name == "logchanged") {
                    bolLogChanged = Convert.ToBoolean(value);
                } else if (name == "logdeleted") {
                    bolLogDeleted = Convert.ToBoolean(value);
                } else if (name == "logcreated") {
                    bolLogCreated = Convert.ToBoolean(value);
                }
            }
        }
    }
    myWatchedPaths = (string[])paths.ToArray(typeof(string));
}

解析邏輯說明

  • path* 開頭 → 監視路徑,收集至陣列
  • logrenamed/logchanged/logdeleted/logcreated → 對應四種事件監視旗標
  • 大小寫不敏感比對,容錯性佳
  • 回傳 string[] 供 WatchedPaths 屬性使用
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved