我实际上正处于 .NET 相关内容的学习阶段,我正在探索如何保存应用程序。我最终编写了自己的类,它将设置保存在 XML 文件中,然后我发现 .NET 本身支持保存应用程序设置。
但我找到了两种方法可以做到这一点。当我在 Visual Studio 2008 中打开添加新项目对话框时,它提供了创建设置文件 (.settings) 或配置文件 (.config) 的选项。两者有什么区别以及在什么场景下使用?
更新:在 ASP.NET Core Land 中,配置不再通过以下任一方式进行管理 -请参阅 Travis Illig 的精彩文章,其中 a-z 已打开Microsoft.Extension.Configuration and Microsoft.Extensions.Configuration.Binder它们实际上是所有这些的超集
设置(来自 .settings 集和Configuration.AppSettings
),存储在 .config 文件中[与许多其他内容一起]。
不同之处在于 .settings 内容 [在 .NET 2.0 / VS2005 中添加] 在一组属于在一起的设置之上分层了一个强类型类,而Configuration.AppSettings
只是让您检索字符串,强制您进行任何转换,并且没有默认值的概念。 (Configuration 类实际上已被分流到一个侧程序集中以反映这一点 - 如果需要,您需要显式添加对 System.Configuration 的引用)。
如果您还没有 app.config,则将 .settings 添加到您的项目将导致添加一个 app.config 来容纳设置。每次更改组件/应用程序的设置列表时,都会自动生成读取设置的类。
.Settings 的其他功能是能够将某些设置指定为特定于用户的设置(并且还可以通过一次调用保存特定于用户的设置)。
使用 .Settings 的最佳原因通常是,您可以通过跟踪属性的用法(每个集合都是 XML 文件中的单独块)来清楚地识别谁在代码库中使用哪个设置。Configuration.appSettings
本质上更加全局化 - 它只是一组属性,您不知道哪个 DLL、子系统或类依赖于特定的设置条目。看史蒂文·史密斯的这篇博文更多。
最后,如果您仍然没有充分了解设置管理,那么您将无法击败里克·斯特拉尔(Rick Strahl)关于这个主题的帖子为了完整性或绝对数量的想法和角度。
旁白:还有ASP.NET vNext 配置 stuff, 本文概述它非常灵活,并提供了配置设置管理的不同角度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)