当前位置: 首页 > 编程语言 > C#

C#App.configvsSettings文件共享

时间:2023-04-10 20:17:55 C#

C#App.configvsSettingsFile这听起来像是一个微不足道的问题,但我简单地浏览了一下网络,发现app.config基本上是是一种用于存储应用程序的应用程序密钥/数据对的旧机制。我想知道的是,我们(作为.NET开发人员)是否选择在设置文件中使用app.config?-请有人提供一些优缺点,以便我们可以正确使用它们。再次感谢桌面应用程序的App.config和Web应用程序的Web.config是.NET配置系统的一部分。它们主要用于控制与我们的应用程序相关的.NET框架设置。这些配置设置是程序集版本的Replace(section)、.NETFramework版本的Replace()等(请参阅msdn了解完整的app.config架构。)有一个部分专门用于自定义设置AppDeveloper()。也可以创建自定义部分。因此,当我们需要存储设置时,我们可以搭载app.config或创建我们自己的单独配置文件。以下是使用app.config的优点和缺点:优点:.NET中已经有一个标准API可以从appSettings部分读取设置。如果您只需要一些配置设置,使用这个开箱即用的API比开发和测试您自己的类来读取配置文件要容易得多。此外,app.config文件已包含在VS项目中。Pro:有一个标准的machine.config/app.config层次结构。如果您计划拥有可以在机器范围内设置并为单个应用程序覆盖或保留的设置,您应该使用app.config。赞成/反对:App.config在运行时缓存。如果您希望您的应用程序在运行时被更新,您将需要特别请求刷新配置文件的某些部分。对于web.config,当文件中的内容发生变化时,web应用会自动重启。很方便。缺点:app.config与.exe文件存储在同一目录中。通常它将位于C:\ProgramFiles的子文件夹中。此目录在Windows7中受到额外保护,不会被写入。您需要是Administrators组的成员才能在那里写入,如果控制面板中的UAC(用户访问控制)级别未设置为0(通常不是),操作系统将要求您确认写入c:\程序文件。因此,没有管理员权限的用户将无法更改app.config中的配置。以编程方式更改设置也是如此:如果您未在Windows7上以管理员用户身份运行,则当您尝试编写app.config时,您的应用程序将抛出异??常。您自己的配置文件通常位于C:\ProgramData\或c:\Users子文件夹(在Windows7上)。这些位置对于编写而言对用户或程序更友好。缺点:如果用户编辑您的app.config文件并意外损坏它,整个应用程序将不会以一些模糊的错误消息开始。如果您的个人配置文件已损坏,您将能够提供更详细的错误消息。总之:app.config为您提供了一种更简单(且开发速度更快)的方法,主要用于只读设置。自定义设置文件为您提供了更多自由(存储文件的位置、验证/错误处理、架构的更多灵活性),但在开发过程中需要做更多的工作。反过来说,设置文件(或最初称为ini文件)是在Windows95之前用于保存应用程序设置(键/值对)的机制。随着Windows95的发布,建议设置应用程序进入Windows注册表(这被证明是有问题的,因为如果您弄乱了注册表,您的Windows可能无法再启动)。.config文件与.Net一起发挥作用。与简单的键/值对相比,XML格式允许更动态和更复杂的设置配置。现代用户/设置文件是.config文件的XML扩展(在某些情况下可以覆盖.config中某些设置的设置)。以上就是C#学习教程:C#App.config及设置文件分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: