我的.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,或者我可以在那里执行此操作? (例如,在读取配置文件或其他内容后,sorta就像委托一样?)
答案 0 :(得分:0)
这听起来像是数据使用者的工作,而不是数据存储(在本例中是web.config)。
可以从代码中读取/写入web.config,但这几乎总是一个非常糟糕的主意(一方面,写入将始终重新启动Web应用程序,甚至阅读将太有时了)。我知道这不是你要问的,但是我想指出它,因为我对那些不顾一切地读/写web和app.config文件的人感到震惊。
关于在解析文件时是否引发事件的原始问题,我做了一些阅读但找不到任何内容。但是,您可能可以修改web.config的Visual Studio XML架构,并且至少会出现设计时错误。
或者更重要的是,我建议将验证逻辑移动到数据的使用者(看起来像一个日志类)。