3

在 asp.net 项目中实现自定义配置部分似乎增加了很多复杂性、额外工作和额外文件。话虽如此,与仅从 xml 文件(或其他来源)中读取配置信息相比,是什么值得?它的性能更高吗?这是最佳实践吗?

4

2 回答 2

3

因为您可以创建一个“对象”来保存值(来自自定义配置)与一堆不相交的标量。

它还允许配置值在单独的文件中提供帮助(我非常喜欢的技巧)。

又名,我把我所有的 SmtpSettings 都放在了一个 ~separate SmtpSettings.config 文件中。而且我使“app.config”或“web.config”更精简,而且我不会无意中覆盖值。

附言

如果你以“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"/>
于 2013-07-15T20:21:46.467 回答
0

嗯,这是一个很好的问题,我认为。

我认为唯一的优势是 .NET 开发人员都知道它,所以他们不需要学习在自己的解决方案中实现的新技巧

也许还有一点安全性,因为服务器保护 web.config 文件但不关心发送 XML 文件。

于 2013-07-15T20:21:35.403 回答