Joh*_*n K 24 .net appsettings settings.settings
是否有关于何时使用应用程序设置(不是每个用户设置)与.config文件<appsettings>的建议?
更新
希望了解一些更精细和重要的差异,因为它们都是有效的键/值存储.例如,我知道在web.config中修改appsettings将回收Web应用程序.
设置已经在.NET中存在了一段时间,我没有费心去看它们 - 也许一个有点多余,或者同时使用两者都没有意义......这就是我的细节期待了解和原因.
小智 16
这个问题有点陈旧,但我偶然发现了它,并考虑增加一些清晰度以防其他人也偶然发现它......
设置选项(与原始<appSettings>部分相对)在框架中具有强大的支持:
设置是强类型的(即bool,int,ConnectionString等),而不是全部作为字符串返回,以便在需要时由代码解析.
设置的范围可以是a)内部或公共,以及b)每个用户或每个应用程序(后者本质上意味着每台机器).
您的应用程序需要提供自己的界面来更改设置,但这很简单,因为设置属性在代码中是可读/写的,生成的类提供了保存更改的功能.
部署的app.config(或web.config)文件仅存储默认值(请参阅下面有关如何处理运行时更改) - 这意味着更改设置并在运行时保存它们不会更改.config文件 - 并通过扩展不会导致您的应用程序重新启动.
运行时的更改将保存到本地位置(c:\ ProgramData ..或c:\ Users\MyUser\AppData\Local ..中的某个位置),具体取决于所选的范围.因此,应用程序的后续版本可以安全地引入新设置,而不必担心丢弃以前自定义的值,因为它们被安全地存储起来.
希望有助于清理一些事情.
到目前为止,答案中似乎忽略了一点是.config文件可以使用Transformation文件进行转换.这些文件默认情况下可用于Web.config文件(在Visual Studio中),并且使用SlowCheetah - Visual Studio的XML Transforms加载项为任意.config文件启用(SlowCheetah还添加了预览器并在构建时应用转换而不是仅在部署.
应用程序设置和配置文件 appSettings 部分仅限于键值对,这对于简单设置很有用,但如果您需要更强大的数据持久性,您可能会考虑为应用程序创建自定义配置部分。这是有关创建自定义配置部分的 stackoverflow 文章
享受!
| 归档时间: |
|
| 查看次数: |
9342 次 |
| 最近记录: |