Web.Config中的自定义部分/集合

我有一堆路由,我希望能够在我的Web.Config文件中抛出。 我需要集合中每个部分/项目的一个键和两个值字段。 有点像这样……

     

这可能吗?

这里非常相似的样本: http : //jopinblog.wordpress.com/2007/04/20/custom-configurationsections-in-net-20-config-files/
这是自定义部分的官方页面: http : //msdn.microsoft.com/en-us/library/2tw134k3.aspx
此外,这里也有类似的问题: 如何定义具有潜在子元素和属性属性的自定义web.config节?

是。 一旦你有了一个开始,并不是太难。

您需要创建一个ConfigurationSection派生类来定义部分(然后在配置中添加

以将元素链接到您的类型)。

然后,您需要一个类型来定义集合的每个元素,并将其标记为默认值,即集合的第二个类型的属性。

设置完毕后,在运行时,您可以访问配置部分:

 var myRoutes = ConfigurationManager.GetSection("routes") as RoutesConfigSection; 

我的博客上有一些关于此背景的文章: http : //blog.rjcox.co.uk/category/dev/net-core/

正如在另一个答案中所指出的那样,在MSDN上也有覆盖率(比以前好很多)。

如果您不想创建表示配置部分的类,则可以执行以下操作:

 var configSection = ConfigurationManager.GetSection("sectionGroup/sectionName"); var aValue = (configSection as dynamic)["ValueKey"]; 

转换为动态可以访问configSection中的键值。 您可能必须在configSection中添加断点和峰值以查看其中包含的内容以及要使用的ValueKey。