在asp.net项目中实现自定义配置部分似乎增加了很多复杂性,额外工作和额外文件。话虽如此,仅仅从xml文件(或其他来源)读取配置信息是什么值得呢?性能更高吗?这是最佳做法吗?
答案 0 :(得分:3)
因为您可以创建一个“对象”来保存值(来自自定义配置)与一堆不相交的标量。
它还允许配置值在单独的文件中提供帮助(我非常喜欢的技巧)。
Aka,我将所有的SmtpSettings放在一个单独的SmtpSettings.config文件中。并且我保持“app.config”或“web.config”更精简,并且我不会有意义地覆盖值。
PS
如果你以“DotNet”方式实现,未来的开发人员将不必学习自定义xml例程,也就是说,它更一致的项目与项目“做任何事情”和谁继承你的代码将感谢你而不是诅咒你。
<connectionStrings configSource="ExternalConnectionStrings.config" />
然后是ExternalConnectionStrings.config文件的内容
<connectionStrings>
<add (blah blah blah) />
</connectionStrings>
记住。您必须使用POST-BUILD事件来复制此文件(或其他“技巧”),它不会像app.config一样自动复制。
它也适用于“自定义”处理程序。
<configSections>
<section name="FactoryMappingSettingsSection" type="MyConfigClassHandler, MyCompany.Framework.CrossDomain.Configuration"/>
</configSections>
然后:
<FactoryMappingSettingsSection configSource="FactoryMappingSettings.config"/>
答案 1 :(得分:0)
我认为唯一的优势是.NET开发人员知道它,所以他们不需要学习在他自己的解决方案中实现的新技巧
也许有点安全,因为服务器保护web.config文件但不关心发送XML文件。