应用程序设置存储在哪里?

3

我正在创建一款应用程序,通过RS232串口连接从秤中读取一些信息。有几种不同类型的秤在使用,因此我希望在我的程序中存储特定的秤设置。最好的方法是什么?通过app.config?还是应该将值放入数据库中?

5个回答

5

这要看 这些配置将在哪里使用?

如果您正在处理分布式的大型系统,也就是这些配置可能会被其他系统共享/使用。最好将其存储在数据库中,并使用其他相关系统同意的通用协议。

另一方面,如果这些配置用于小型应用程序,则建议将它们存储在配置文件(或xml文件,无论您喜欢哪种)中,因为您不需要用枪杀蚊子。


3

对于您来说,app.config是最简单的选项。我认为仅仅为了一些设置而使用数据库可能有点过度,但如果您希望使用VS所提供之外的东西(即app.config),那么您可以随时制作一个快速的自定义XML设置文件。这完全取决于您想要做什么以及您对其他技术的熟悉程度。


1

信息是否会发生变化?这意味着当您运行应用程序时,信息是否会被更新?

如果信息是静态的且不经常更改,则可以将其存储在app.config中。

或者存储在XML文件中,稍后可以读取该信息。

但是,如果信息是动态的,则需要创建一个模型并通过模型属性公开可扩展的信息。


1
那其实并不是真的。我发现使用LINQ(当信息量不太大时)对XML数据进行快速编辑比搞数据库要简单得多。但这又是个人偏好的问题。 - Christopher B. Adkins

1

不要忘记注册表。

在以下情况下使用注册表:

  • 您需要使您的设置对域管理员可访问
  • 您需要保护某些设置(使用Windows安全性)
    (您可以将某些设置设置为只读)
  • 有很多经常更改的小设置

我不同意你的最后一点。仅仅因为设置很少且经常更改并不是将它们添加到注册表中的好理由。在我看来,这更像是将它们放入设置文件的原因。 - Christopher B. Adkins
如果您在.config、.xml(或旧的.ini)文件中存储了许多小设置,每次进行小数据更改都需要重写(和生成)整个文件。而注册表则针对此类操作进行了优化。 - GvS
据我理解,设置文件的整个目的是存储可以更改以影响运行时或在运行时将更改并需要保存到下次运行程序的文件的小设置。此外,如果您编写的每个程序都将其所有设置转储到注册表中,那么用户的注册表将很快变得过于臃肿(因为绝大多数程序在卸载时不清除它们的垃圾)。 - Christopher B. Adkins
使用注册表的原因是非常合理的。只是不适用于这个具体的问题。 - Hans Passant

0

如果它很简单直接,那么 app.config 是最好的选择 - 您不需要设置数据库并且可以使用简单的内置接口。

如果您选择使用数据库,请查看 MySQL。它是一种简单的基于文件的数据库,具有简单的部署方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接