访问服务器上的设置/首选项文件

问题描述:

我的应用程序历史上在同一个文件服务器上使用了ini文件,因为它消耗的数据位于每个用户设置的存储位置,以便在用户从多台计算机登录时漫游。要做到这一点,我们有一个看起来像一个文件:访问服务器上的设置/首选项文件

[domain\username1] 
value1=foo 
value2=bar 

[domain\username2] 
value1=foo 
value2=baz 

在此版本中,我们正试图从迁移使用INI文件离开由于Win32的限制INI读/写功能,而无需编写自定义的INI文件解析器。

我已经看过app.config和用户设置文件,并且都不合适。前者需要与可执行文件位于同一个文件夹中,后者不提供任何方法在运行时创建新值。

是否有内置选项我缺少,或者是我自己编写偏好类的最佳路径,并使用框架的XML序列化将其写出?

我发现这里最快的方法就是创建一个你想要的XML文件,然后使用XSD.exe创建一个类并序列化数据。它速度很快,只需几行代码,效果很好。

+0

这就是我正在走向的结论,但是要确保我没有忽略隐藏在我从未看过的框架的一部分中的东西。 – 2010-01-28 21:39:08

你没有退房或听说过nini这是第三方ini处理程序。我发现它很容易使用,并且简单地读取/写入ini文件。

为了您的利益,这将意味着非常小的变化,并且更易于使用。

需要权衡从ini到另一种格式的转换,如代码的影响,编程的简易性(不管怎么样,将代码改为使用xml可能很容易,但它是限制性的,因为您不能写入它) 。取出ini代码并将其替换为xml有什么好处,这是您必须决定的问题?

有可能是一个敲门的效果,如不得不改变它,并适应代码......但...对于看到的时间,当然,ini是有点过时和旧,但它仍然在使用中,我无法看到微软放弃了对ini API的支持,因为它非常活跃,并且在幕后用于安装驱动程序......想到用于指定驱动程序在哪里以及如何安装的inf文件......它在这里停留,因为司机的制造商采用了它,并且事实上是驱动程序分配的标准方式...

希望这会有所帮助, 最好的问候, 汤姆。

+0

不能写xml是什么意思?我一直在阅读/写入XML数据文件多年。 – 2010-01-28 22:17:36

+0

@Dan:我只是觉得Xml对于系统设置来说过于复杂,因此我认为ini的简单性,可以在运行时通过前端的配置设置来应用更改吗? – t0mm13b 2010-01-28 23:06:31