c# - 使用 ini/appconfig 文件或 sql server 文件来存储用户配置?

标签 c# sql-server app-config

我知道 INI 或 appconfig XML 的偏好是它们的人类可读性。

假设为我的应用程序存储的用户首选项是分层的并且数量大约为一千个项目,并且无论如何编辑 INI 来更改内容对于用户来说真的很困惑。

我一直在结合使用 INI 和 appconfig。

我现在倾向于使用 sql server db 文件。每次用户在使用该应用程序时更改首选项时,它都会存储到 db 文件中——这就是我的想法。我还认为这样的配置数据库文件也可以随应用程序移动,就像 INI 一样。

在我这样做之前,任何建议
1. 如果在 INI 或 appconfig 上使用 db 文件有任何缺点。
2. 如果一个商店使用mysql或oracle,你认为你的同事会扬起他们亲mysql或亲oracle的眉毛质疑你为什么要在mysql或oracle商店中使用sql server技术吗?我的意思是,我只是像 INI 文件或 app.config 一样使用它,对吧?

附加信息:
我希望阅读我的问题的人明白我使用的不是“企业数据库”,而是与应用程序一起存储的“preferences.mdf”。因为我希望使用 ado.net 将用户配置项存储为实体。

最佳答案

这实际上取决于您的应用程序的架构。

例如,如果您正在创建一个网络应用程序,那么您将希望将用户设置存储在数据库中,因为整个用户/角色系统无论如何都会存储在数据库中。

如果它只是在单个机器上使用的简单桌面应用程序,软件副本之间没有交互,那么您可以使用 XML 文件来存储设置——使用数据库可能有点矫枉过正,尤其是当您不使用其他任何东西的数据库。

当然,这两种方法各有利弊。如果您使用数据库,这意味着部署涉及更多的设置步骤(同样,取决于您的体系结构),而使用简单的配置文件更轻便并且可以轻松移动。

需要注意的一件事:如果你走数据库路线,你将需要使用配置文件无论如何来存储连接到数据库所需的信息。

关于c# - 使用 ini/appconfig 文件或 sql server 文件来存储用户配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2842621/

相关文章:

sql-server - 在 T-SQL 中通过 XQuery 选择时连接 xml 值

c# - 如何使解决方案中的所有项目都使用单个应用程序配置文件?

c# - 使用 c# 在 asp.net 中的 sqlserver 的下拉列表中显示数据

c# - 将 AspNet Core 添加到标准 Dotnet Core 控制台应用程序

c# - 如何使用 iTextSharp PdfReader 从 PdfFile 获取 UserUnit 属性

sql-server - 生成 tsql 色号排列

c# - 插入日志事件时,TimeCreated 字段不够准确

sql-server - ADO.NET 中 SqlConnection (SQL-Server) 的 SPID

c# - 如何使用配置节处理程序导入具有 App.config 的 .NET DLL?

c# - app.config 从其他节点读取关键连接字符串的值