2009-02-08 66 views
-1

我在我的.config文件中有一些自定義配置條目。所有負載/工作正常。我想知道是否有合適的方法來檢查已提供的數據 - 添加一些業務邏輯。例如...ASP.NET自定義配置條目/ ConfigurationSections +業務邏輯驗證?

<logFileSettings> 
    <logFile fileName="foo.log" uniqueName="log1"> 
     <alerts> 
      -= snip =- 
     </alerts> 
    </logFile> 
    <logFile fileName="bar.log" uniqueName="log2"> 
     <alerts> 
      -= snip =- 
     </alerts> 
    </logFile> 
</logFileSettings> 

現在,我想確保每個自定義節的uniqueName是唯一的。我是否需要在我的自定義類之外手動執行此操作,這會影響ConfigurationSection,或者我可以在那裏執行此操作嗎? (例如,在讀取配置文件之後就像一個代表那樣?)

回答

0

這聽起來像是數據使用者的工作,而不是數據存儲(在本例中是web.config)。

可能從代碼中讀取/寫入web.config,但這幾乎總是一個非常糟糕的主意(一方面,寫入將始終重新啓動Web應用程序,甚至有時甚至會讀取)。我明白,這不是你要問的,但我想指出,因爲我很驚訝的人讀/寫web和app.config文件的魯莽放棄的人數。

對於您在解析文件時是否引發事件的原始問題,我做了一些閱讀並找不到任何東西。但是,您可能可以修改web.config的Visual Studio XML模式,並且至少會出現設計時錯誤。或者更重要的是,我會建議將驗證邏輯移動到數據的使用者(看起來像一個日誌記錄類)。