configSection vs plain xml的优点/缺点?

时间:2013-07-15 20:17:17

标签: c# asp.net xml asp.net-mvc-3

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

2 个答案:

答案 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文件。