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

时间:2011-07-29 09:39:56

标签: c# .net configuration configuration-files

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

随着应用程序的运行,将会生成成千上万的键 - >值映射,并且此信息需要持久。对于每个映射记录,都会有更新/删除操作。

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

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

数千条记录怎么样?是否可以避免使用任何数据库?

谢谢!

5 个答案:

答案 0 :(得分:5)

我知道你说“没有数据库”,但考虑使用SQL Server Compact提供免费的,占用空间小的SQL Server功能,你不需要安装 - 它有点像成熟版本喷气机。

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

答案 1 :(得分:1)

因此,您始终可以使用XML。或者真正使用ConfigurationManager文件(这里是一些示例MSDN或此处Loading custom configuration files

答案 2 :(得分:1)

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

SQL Compact EditionSQLLite

我从未使用过SQL CE,但SQLLite只是一个DLL。

显然,你没有完全成熟的数据库引擎的所有功能,但它们仍然非常强大,当然比配置管理器更好地保存数据。

答案 3 :(得分:1)

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

  1. SQL Server Compact方法,只需将数据库文件放在App_Data下,然后使用ADONET就​​可以获得它们,就像它是一个功能齐全的SQL服务器一样。
  2. 与csv,dbf或任何其他结构化文件的OLEDB连接。
  3. 本土解决方案 - 类似于IDictionary<>集合手动持久存储在XML,平面文件,二进制数组或其他任何内容中。

答案 4 :(得分:1)

我同意史蒂夫摩根的观点。我推荐使用SQL Server Compact。