代码之家  ›  专栏  ›  技术社区  ›  Jakob Gade

App.config与.ini文件

  •  10
  • Jakob Gade  · 技术社区  · 14 年前

    我正在审查一个.NET项目,我遇到了一些非常严重的使用.ini文件进行配置的情况。我更倾向于使用app.config文件,但是在我开始和devs讨论这个问题之前,我想知道是否有正当的理由支持.ini文件而不是app.config文件?

    3 回复  |  直到 14 年前
        1
  •  6
  •   marc_s HarisH Sharma    14 年前

    然而,app.config当然是标准的.NET配置机制,它在.NET中受支持,并且有很多钩子和方法。如果使用.INI文件,基本上就是“一路滚动”。“重塑车轮”的经典案例。

    再问一次:这是一个在.NET之前就开始使用的项目吗?或者现有的预.NET Windows应用程序的一个端口,其中的.INI文件是最佳选择?

    我认为.INI文件本身并没有什么问题-它们在.NET中已经不再受支持了,而您需要自己来扩展它们,处理它们等等。如果你需要外部帮助的话,这无疑是一个“难关”—几乎没有任何一个.NET开发人员会接触到.INI文件,而.NET配置系统是相当广为人知和理解的。

        2
  •  3
  •   Hans Passant    14 年前

    Ini文件在我的书中是很好的。问题是GetPrivateProfileString()和cousins。Appcompat已经把它变成了一个丑陋的API函数。检索单个ini值大约需要50毫秒,在现代PC上这是一个时间山。

        3
  •  1
  •   Brian Hvarregaard    14 年前

    就我个人而言,我从来没有将.ini/xml配置文件加载到任何地方,只不过是将所有的值加载到一个单例中,然后像这样在运行时使用它们。。。

    尽管如此,我坚信你应该看看数据的种类和数据的使用。如果在设置和配置方面数据是在应用程序的上下文中,那么我相信app.config文件是保存这些设置的正确位置。

    另一方面,如果数据与加载项目、图像或其他与应用程序内容有关的资源有关,那么我相信.ini(还有人使用.ini文件吗?我正在考虑一个.xml文件来存储这些信息)。简而言之:根据域和上下文对存储的数据内容进行分段。

        4
  •  0
  •   Wayne Cannon    4 年前

    对于多平台应用程序(如Linux和;Windows),其中客户可能偶尔会直接编辑配置参数,并且您需要一个更友好的/可识别的文件名,而无需付出额外的努力。