我有一些asp.net网络应用程序的配置值。一旦系统上线,它们将由系统管理员维护。我应该将这些值存储在数据库或配置文件中吗?这种事情有最好的做法吗?
答案 0 :(得分:8)
创建一个强大的界面来编辑数据库中的值非常简单方便。
为配置文件创建一个好的文件并不容易。
因此,我通常希望存储您希望用户/管理员稍后可以在数据库中编辑的所有内容。在重新安装等严重变化中只需要触摸的所有内容在配置文件中都会更好。
答案 1 :(得分:3)
我总是建议使用数据库,因为您可以相对轻松地构建管理UI,并以类似的方式审核所有更改。虽然您可以通过更改文件来完成相同的操作,但是具有某种管理控制区域的数据库路径始终是可取的。特别是当你想知道谁改变了什么时。
同样在我们的环境中,如果出现错误,更改配置文件会涉及整个变更管理流程审批/等等,这非常痛苦。因此,如果您花时间将配置设置合并到数据库中,我认为从长远来看它会更好。只需我0.02美元。
答案 2 :(得分:1)
出于以下两个原因,我更喜欢文本配置文件,.ini样式或XML样式:
1 - 您可以在文本文件中添加注释。
2 - 文本编辑器有一个“撤消”命令。
答案 3 :(得分:0)
根据配置信息的上下文,您可以选择将其保留在web.config中,也可以在数据库中为其创建维护表。我会特别保留更具体的后端内容,例如web.config中的连接字符串,ftp位置,用户名/密码(对于应用程序,而不是用户权限)。
我通常会在数据库中保留与数据库中的信息相关的更多相关信息,而不是应用程序本身。
虽然并非总是如此,但这一切都是基于松散的。
答案 4 :(得分:0)
如果可以,我更愿意避免使用数据库而我不需要性能。如果您需要/拥有一个数据库,那么我会说尽可能多地放在一个地方。要管理的一件事。
答案 5 :(得分:0)
我认为数据库是分布式应用程序配置值的绝佳位置,无论用户使用哪台计算机,都希望用户设置可用。
存储在文件中的配置值对于特定于计算机的配置非常有用(例如,如果使用映射驱动器来标识位置,并且每个用户可能具有不同的映射,例如CD / DVD驱动器)。
如果您还没有正在开发的应用程序的数据库,那么专门为应用程序配置创建数据库可能会有点过分。
答案 6 :(得分:0)
我更喜欢文字.ini
文件。它们易于编辑,并且在您的应用程序四处移动时易于移动。以下是您可能会觉得有用的示例Setting
class。