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

时间:2009-02-08 12:07:54

标签: asp.net configurationsection

我的.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就像委托一样?)

1 个答案:

答案 0 :(得分:0)

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

可以从代码中读取/写入web.config,但这几乎总是一个非常糟糕的主意(一方面,写入将始终重新启动Web应用程序,甚至阅读将太有时了)。我知道这不是你要问的,但是我想指出它,因为我对那些不顾一切地读/写web和app.config文件的人感到震惊。

关于在解析文件时是否引发事件的原始问题,我做了一些阅读但找不到任何内容。但是,您可能可以修改web.config的Visual Studio XML架构,并且至少会出现设计时错误。

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