2011-06-29 68 views
0

这是我第一次使用配置文件,所以我不确定要走哪个方向。我环顾四周,但没有找到任何具体的答案。在哪里存储不同的配置设置? C#服务

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

我怎么能存储和读取我的其他列表,以及单个int独立?即指文件的那部分? - 序列化允许这或我需要多个文件?这是不好的做法吗?

我应该使用不同的充类型的配置文件,或者除了使用设置来我的XML文件?有多种配置模式是不好的做法吗?

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

回答

1

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

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

检查了这一点how to store int array in application settings

+0

事情是我有两个列表,但我不知道如果我可以将它们存储在相同的配置(XML)文件和序列化。当你说分开的文件时,你的意思是不止一个?我想将所有设置保存在一个文件中,但是可以原谅吗? – marked

+0

您可以存储任何数量的配置文件serialisable对象的名单,是的,你可以让他们都在同一个文件中。您可以尝试的其中一个选项是转到项目属性单击右侧的设置选项卡,然后单击中间提供的链接。它会给你你可以在配置文件中序列化的对象列表。下面是一个例子http://msdn.microsoft.com/en-us/library/a65txexh.a​​spx你应​​该能够如果您从浏览选项,选择它以连载名单。检查了这一点http://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx#settingscs_topic2 –

+0

你认为有可能适应以下技术... HTTP:/ /stackoverflow.com/questions/1321248/how-do-i-save-serialize-a-custom-class-to-the-settings-file像我需要使用自定义对象的名单? – marked

1

如果你可能想使用注册表

如果它是一个WCF服务则是他们的一个良好定义的XML格式,使用.NET的.config格式的Windows服务。

您可以用自己的格式规则添加自定义设置,在这里,也定制部分。

+0

我们做大量使用的app.config的(在.NET配置文件)独立应用程序和基于.NET的Windows服务的配置。自定义部分非常适合分组配置设置。 – jglouie

+0

对不起,应该有具体说明。它是一个windows服务,我也想用单声道移植到跨平台。如果我要使用.net配置文件,我可以存储自定义对象列表吗?我对使用注册表感到有点紧张,我不确定它涉及什么。 – marked

+0

是的,您可以将.net对象存储在配置文件中。真的,你在谈论序列化......但是如果你可以摆脱配置文件,这可能会让你的生活变得简单。序列化真的不难,虽然... –

0

你有什么版本的.NET/VS.NET的? VS 2008和以后,您可以添加自定义configuraction文件,这是一个XML内部,但可以通过在IDE中的自定义网格编辑器修改

+0

即时通讯使用Visual C#2010 Express。 'custom'配置文件是什么意思?我目前使用的是xml文件,但是想要从中检索多个数据集,即两个独立的列表和一个sinlge值。它从我不确定的文件中选择我需要的。这可以帮助吗,如果是的话,你能否详细说明一下?我有点新手:P – marked

+0

@market我不知道“快车”是否包含这一点。在“解决方案资源管理器”,单击鼠标右键,会出现一个上下文菜单中,有一个选项时,“添加新项”,即允许不加只是一种形式,XMLü其他文件,而是一个“设置文件” ,这是基于XML,并具有集成的自定义编辑器 – umlcat

相关问题