我正在研究如何使我们的应用程序更易于扩展和更容易操作,而无需更改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# WinForm状态栏实时显示当前时间(窗体状态栏StatusStrip示例) 2023-03-29
- Linux安装不同版本.netCore的shell命令 2023-09-27
- C# Newtonsoft.Json 的使用说明 2023-03-29
- 使用c#实现随机数猜数游戏的示例代码 2023-03-10
- C# 读写自定义的Config文件的实现方法 2023-06-21
- c# – 如何使用Windows Media Player播放列表中的所有歌曲? 2023-09-19
- Unity3D游戏开发数据持久化PlayerPrefs的用法详解 2023-01-27
- asp.net core swagger (Swashbuckle ) 设置nginx proxy后,无法访问的问题 2023-09-26
- C#实现优先队列和堆排序 2023-05-31
- Unity3D实现攻击范围检测 2023-02-16