【问题标题】:Access a settings/preferences file on a server访问服务器上的设置/首选项文件
【发布时间】:2011-01-10 14:46:24
【问题描述】:

我的应用程序过去曾在同一文件服务器上使用 ini 文件,因为它使用的数据用于存储每个用户的设置,以便在用户从多台计算机登录时漫游。为此,我们有一个看起来像这样的文件:

[domain\username1]
value1=foo
value2=bar

[domain\username2]
value1=foo
value2=baz

在此版本中,由于 win32 ini 读/写功能的限制,我们正在尝试不再使用 ini 文件,而无需编写自定义 ini 文件解析器。

我查看了 app.config 和用户设置文件,但似乎都不合适。前者需要与可执行文件位于同一文件夹中,而后者不提供在运行时创建新值的任何方法。

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

【问题讨论】:

    标签: c# .net configuration settings


    【解决方案1】:

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

    【讨论】:

    • 这就是我要得出的结论,但我想确保我没有忽略隐藏在我从未看过的框架部分中的东西。
    【解决方案2】:

    您是否没有查看或听说过nini,它是第三方 ini 处理程序。我发现它很容易使用,而且在读取/写入 ini 文件时也很简单。

    为了您的利益,这意味着更改很少,并且更易于使用。

    需要权衡从 ini 到另一种格式的转换,例如代码影响、编程的简易性(除了挑剔,更改代码以使用 xml 可能很容易,但它的局限性在于您不能写入它)。撕掉ini代码并用xml替换它有什么好处是您必须决定的问题?

    很可能会产生连锁反应,例如必须更改它并调整代码......但是......在可预见的时间内,当然,ini 有点过时和旧,但它仍然在使用时,我看不到 Microsoft 放弃了对 ini API 的支持,因为它非常活跃,并且在幕后用于驱动程序安装……想想用于指定驱动程序去哪里以及如何安装的 inf 文件……它是由于驱动程序制造商已采用它并且是驱动程序分发的事实上的标准方式,因此留在这里......

    希望这会有所帮助, 最好的祝福, 汤姆。

    【讨论】:

    • 不能写xml是什么意思?多年来我一直在读/写 xml 数据文件。
    • @Dan:我只是认为 Xml 对于系统设置来说过于复杂,因此 ini 的简单性,我的意思是,你可以在运行时写入它以通过前端的配置设置应用更改?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 2017-12-14
    • 2012-08-06
    • 2011-09-13
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多