在服务器应用程序中存储配置信息的最佳方法是什么?(没有数据库)
本文关键字:是什么 数据库 方法 最佳 应用程序 服务器 存储配置 信息 | 更新日期: 2023-09-27 18:03:50
我有一个用C#编写的服务器应用程序。
随着应用程序的运行,将生成数以万计的键值映射,并且需要持久化这些信息。对于这些映射记录中的每一个,都将执行更新/删除操作。
存储它的最佳方法是什么?没有数据库。
在这种情况下,ConfigurationManager是否存在性能问题?
对于数千条记录如何是否可以避免使用任何数据库?
谢谢!
我知道你说"没有数据库",但考虑一下SQL Server Compact的使用,它提供了一种免费的、占地面积小的SQL Server功能,你不需要安装它——它有点像Jet的成熟版本。
或者,您可能想看看是否可以找到ISAM实现。
假设您的主机要求您没有数据库,那么仍然有几个选项:
- SQL Server Compact方法,只需将数据库文件放在App_Data下,然后使用ADONET访问这些文件,就好像它是一台功能齐全的SQL服务器一样
- 与csv、dbf或任何其他结构化文件的OLEDB连接
- 本土解决方案-类似IDictionary<>集合手动持久化为XML、平面文件、二进制数组或其他任何类型
所以您可以始终使用XML。或者真正使用ConfigurationManager文件(这里是MSDN或此处加载自定义配置文件的示例(
您可能无法使用成熟的数据库,但可以考虑使用嵌入式SQL引擎:
SQL Compact Edition或SQLLite
我从未使用过SQLCE,但SQLLite只是一个单独的DLL。
显然,您不具备成熟数据库引擎的所有功能,但它们仍然非常强大,在持久化数据方面肯定比Configuration Manager好得多。
我同意Steve Morgan的观点。我推荐SQL Server Compact。