【问题标题】:Where to store different configuration settings? C# service在哪里存储不同的配置设置? C# 服务
【发布时间】:2011-09-25 05:46:57
【问题描述】:

这是我第一次使用配置文件,所以我不确定该往哪个方向发展。我环顾四周,但没有找到任何具体的答案。

我有一些配置设置,即整数列表、自定义对象列表和单个整数。目前,我正在为我的配置文件使用 XML,我正在使用序列化来存储和读取我的自定义对象列表。但是,我不确定约定或将其他设置存储在同一文件中的可能性。理想情况下,我希望它是一个可通过 GUI 配置的单个文件,我可以使用 XML 来实现吗?

如何独立存储和读取我的其他列表和单个 int?即参考文件的那部分? - 序列化允许这个还是我需要多个文件?那会是不好的做法吗?

我应该使用不同类型的配置文件,还是使用 XML 文件之外的设置?有不止一种配置模式是不好的做法吗?

非常感谢您提供的任何建议!

【问题讨论】:

    标签: c# xml properties xml-serialization


    【解决方案1】:

    我曾经将配置信息存储在 app.config 文件中(不是单独的)。但是,在为大公司工作时,我发现在生产环境中您无法访问 app.config 文件(只有 IT 人员可以访问生产环境)。因此,如果您需要更改配置,则需要通过更改请求,这需要时间。所以在这种情况下,我开始将我的配置信息存储在数据库中。这样我可以随时更改,我不需要通过更改请求。

    关于单独的 xml 或 app.config。如果您有很多配置信息或结构化/嵌套信息,我会使用单独的配置文件,但大多数时候(99%)我会只使用 app.config。

    看看这个how to store int array in application settings

    【讨论】:

    • 问题是我有两个列表,但我不确定是否可以将它们存储在同一个配置(XML)文件中并序列化。当您说单独的文件时,您是指多个文件吗?我想将所有设置保存在一个文件中,但是否可以不这样做?
    • 您可以在配置文件中存储任意数量的可序列化对象列表,是的,您可以将它们全部保存在同一个文件中。您可以尝试的选项之一是转到项目属性单击右侧的设置选项卡,然后单击中间提供的链接。它将为您提供可以在配置文件中序列化的对象列表。这是一个示例msdn.microsoft.com/en-us/library/a65txexh.aspx 如果您从“浏览”选项中选择它,您应该能够序列化列表。看看这个msdn.microsoft.com/en-us/library/…
    • 您认为可以采用以下技术...stackoverflow.com/questions/1321248/… 使用我需要的自定义对象列表吗?
    【解决方案2】:

    如果它是 Windows 服务,您可能想要使用注册表

    如果它是 WCF 服务,那么有一个明确定义的 XML 格式,使用 .net .config 格式。

    您可以在此处添加自定义设置,也可以使用自己的格式规则添加自定义部分。

    【讨论】:

    • 我们大量使用 app.config(.NET 配置文件)来配置独立应用程序和基于 .NET 的 Windows 服务。自定义部分非常适合对配置设置进行分组。
    • 对不起,应该指定。它是一个 Windows 服务,我也想用 mono 移植到跨平台。如果我要使用 .net 配置文件,我可以存储自定义对象列表吗?我对使用注册表有点紧张,我不确定它涉及到什么。
    • 是的,您可以将 .net 对象存储在配置文件中。你真的在谈论序列化......但如果你能摆脱配置文件,那可能会让你的生活变得简单。序列化其实并不难……
    【解决方案3】:

    【讨论】:

    • 这很有趣,我会进一步调查,看看拆分字符串是否适合我的需要。
    【解决方案4】:

    你有什么版本的.NET/VS.NET? VS 2008 及更高版本,您可以添加自定义配置文件,内部为 XML,但可以通过 IDE 中的自定义网格编辑器进行修改

    【讨论】:

    • 我使用 Visual C# 2010 Express。 “自定义”配置文件是什么意思?我目前正在使用一个 xml 文件,但想从中检索不止一组数据,即两个单独的列表和一个单一值。它从我不确定的文件中选择我需要的东西。这有帮助吗?如果有,你能详细说明一下吗?我有点新手:P
    • @market 我不知道“快递”是否包括这个。在“解决方案资源管理器”中,当单击鼠标右键并出现上下文菜单时,有一个选项“添加新项目”,它不仅允许添加表单、XML u 其他文件,还允许添加“设置文件” ,即基于 XML 并具有集成的自定义编辑器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多