在服务器应用程序中存储配置信息的最佳方法是什么?(没有数据库)



我有一个用C#编写的服务器应用程序。

随着应用程序的运行,将生成数以万计的键值映射,并且需要持久化这些信息。对于这些映射记录中的每一个,都将执行更新/删除操作。

存储它的最佳方法是什么?没有数据库。

在这种情况下,ConfigurationManager是否存在性能问题?

对于数千条记录如何是否可以避免使用任何数据库?

谢谢!

我知道你说"没有数据库",但考虑一下SQL Server Compact的使用,它提供了一种免费的、占地面积小的SQL Server功能,你不需要安装它——它有点像Jet的成熟版本。

或者,您可能想看看是否可以找到ISAM实现。

假设您的主机要求您没有数据库,那么仍然有几个选项:

  1. SQL Server Compact方法,只需将数据库文件放在App_Data下,然后使用ADONET访问这些文件,就好像它是一台功能齐全的SQL服务器一样
  2. 与csv、dbf或任何其他结构化文件的OLEDB连接
  3. 本土解决方案-类似IDictionary<>集合手动持久化为XML、平面文件、二进制数组或其他任何类型

所以您可以始终使用XML。或者真正使用ConfigurationManager文件(这里是MSDN或此处加载自定义配置文件的示例(

您可能无法使用成熟的数据库,但可以考虑使用嵌入式SQL引擎:

SQL Compact Edition或SQLLite

我从未使用过SQLCE,但SQLLite只是一个单独的DLL。

显然,您不具备成熟数据库引擎的所有功能,但它们仍然非常强大,在持久化数据方面肯定比Configuration Manager好得多。

我同意Steve Morgan的观点。我推荐SQL Server Compact。

相关内容

最新更新