ASP.NET自定义配置条目/ConfigurationSections+;业务逻辑验证?

ASP.NET自定义配置条目/ConfigurationSections+;业务逻辑验证?,asp.net,configurationsection,Asp.net,Configurationsection,我的.config文件中有一些自定义配置项。所有负载/工作正常。我想知道是否有合适的方法来检查提供的数据——添加一些业务逻辑。例如 <logFileSettings> <logFile fileName="foo.log" uniqueName="log1"> <alerts> -= snip =- </alerts> </logFile> <log

我的.config文件中有一些自定义配置项。所有负载/工作正常。我想知道是否有合适的方法来检查提供的数据——添加一些业务逻辑。例如

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

-=剪断=-
-=剪断=-

现在,我想确保每个自定义部分的uniqueName是唯一的。我是否需要在实现ConfigurationSection的自定义类之外手动执行此操作,或者可以在其中执行此操作?(例如,在读取配置文件或其他内容后,是否将其委托给?

这听起来像是数据使用者的工作,而不是数据存储(在本例中是web.config)

可以从代码中读取/写入web.config,但这几乎总是一个非常糟糕的主意(首先,写入总是会重新启动web应用程序,有时甚至读取也会)。我知道这不是你要问的,但我想指出这一点,因为我对大量肆无忌惮地读/写web和app.config文件的人感到震惊

对于您最初提出的文件解析时是否会引发事件的问题,我进行了一些阅读,但没有找到任何内容。但是,您可能可以修改web.config的Visual Studio XML模式,至少会出现设计时错误

或者更重要的是,我建议将验证逻辑移动到数据的使用者(看起来像一个日志类)