我知道 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/