我正在研究如何使我们的应用程序更易于扩展和更容易操作,而无需更改web.config(或者,在我们的例子中,包含appsettings节点的application.config文件).我想到的一种方法是将应用程序设置保留在具有sqlcachedependancy...

我正在研究如何使我们的应用程序更易于扩展和更容易操作,而无需更改web.config(或者,在我们的例子中,包含appsettings节点的application.config文件).
我想到的一种方法是将应用程序设置保留在具有sqlcachedependancy的数据库表中.这意味着:
>无论何时在数据库中更改设置,缓存都将失效,并再次检索设置,从而实时更新应用程序,而无需更改文件并重新启动整个应用程序.
>我们可以创建一个自定义工具,允许我们更改设置.
我认为它的缺点是,这可能会导致严重的逻辑问题,如果你有一些东西在流程开始时检查一个appsetting,然后它改变了一半,你最终会无意中改变流程,就像否定了完整应用程序重启的要求.
这有什么方法吗?
有没有更好的方法来管理appsettings,以便您可以一次性为一台,几台或所有服务器远程更改它们?
解决方法:
我想你已经把两个主要的球员钉在了一起:
>您可以访问文件系统,并将所有设置放在过多的* .config文件中
要么:
>您无法访问服务器的文件系统(或访问权限非常有限),因此您可能最好将配置设置和用户首选项放在数据库中,基本上只需要将连接字符串留给磁盘上的配置文件
两种方法都有其优点和缺点.我一直在努力寻找一种从数据库字段“实现”配置部分的方法,这样我基本上只需使用配置XML,但存储在数据库字段中.不幸的是,整个.NET 2.0配置系统被“锁定”并且只假设数据来自文件 – 没有办法插入,例如一个数据库提供程序,允许配置系统从数据库字段中读取其内容:-(真的太糟糕了!
我见过的唯一另一种方法是微软提供的StockTrader 2.0 sample app中的“ConfigurationService”,但是对于我的需求,它感觉像是一种过度杀伤,就像一个非常复杂,非常重的子系统.
本文标题为:c# – 使用数据库保存应用程序设置


基础教程推荐
- 深入理解C#委托delegate的使用 2023-06-27
- c# 引用Nlog插件的步骤 2023-04-14
- C#中利用断点操作调试程序的步骤详解 2022-12-04
- CentOS7安装DotNetCore环境与Nginx环境 2023-09-26
- C#实现简单成绩管理系统的完整步骤 2023-02-02
- C# 在项目中引用x86 x64的非托管代码的方法 2022-12-09
- C#实现变量交换、斐波那契数列、质数、回文方法合集 2023-05-21
- C# ExecuteScalar()方法案例讲解 2023-04-27
- unity中点击某一个按钮播放某一个动作的操作 2023-04-10
- C# 7.0中解构功能详解 2022-12-31