我正在研究如何使我们的应用程序更易于扩展和更容易操作,而无需更改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# – 使用数据库保存应用程序设置
基础教程推荐
- Unity3D自定义创建圆锥体 2023-01-11
- CAD2008+VS2008开发ObjectARX加载失败问题(推荐) 2023-02-16
- C#实现WPF项目复制和移动文件夹 2023-05-26
- Unity3D如何获取时间戳或北京时间 2023-02-17
- C#时间戳基本使用方法详解 2023-07-05
- C#实现串口示波器 2023-05-22
- c# – 使用Nancy的Windows服务无法启动主机 2023-09-19
- c# RSA非对称加解密及XML&PEM格式互换方案 2023-03-28
- 解析在C#中接口和类的异同 2023-01-11
- unity实现动态排行榜 2023-04-27