Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何扩展.Net中的内置配置提供程序以添加自定义存储?_C#_.net 3.5_Configuration - Fatal编程技术网

C# 如何扩展.Net中的内置配置提供程序以添加自定义存储?

C# 如何扩展.Net中的内置配置提供程序以添加自定义存储?,c#,.net-3.5,configuration,C#,.net 3.5,Configuration,我们有一个配置XML数据库。我想扩展.Net的配置类,添加一个自定义存储提供程序,而不是直接通过数据库API访问它 我不知道从哪里开始。我见过配置应用程序块,但这似乎已被弃用。我正在使用.NET3.5 我应该看哪门课?我需要实现哪些接口?其他地方有这样做吗 谢谢您可以将任意文件加载到配置系统中,但您需要使用ConfigurationManager.OpenMappedConfiguration传递包含您的文件的ExeConfigurationFileMap 但该文件需要采用.config格式,用

我们有一个配置XML数据库。我想扩展.Net的配置类,添加一个自定义存储提供程序,而不是直接通过数据库API访问它

我不知道从哪里开始。我见过配置应用程序块,但这似乎已被弃用。我正在使用.NET3.5

我应该看哪门课?我需要实现哪些接口?其他地方有这样做吗


谢谢

您可以将任意文件加载到配置系统中,但您需要使用ConfigurationManager.OpenMappedConfiguration传递包含您的文件的ExeConfigurationFileMap

但该文件需要采用.config格式,用作根元素,并定义自定义节。一旦这一点到位,子类化ConfigurationElement等允许高度的结构灵活性,或者只需自己解析元素即可覆盖ConfigurationElement.DeserializeElement


或者,使用一些抽象。在normal.configuration中有一个自定义元素,配置节处理程序加载main.config中指定的文件。

谢谢。我今天还遇到了SettingsProvider,它似乎是一种将自定义设置提供程序添加到应用程序中的非常简单的方法……有什么想法吗?设置并不是我真正使用的领域,主要是围绕.config的一些代码生成包装,使按名称访问值变得更容易。但会阻止System.Configuration的某些选项,例如从任意文件获取配置实例,从而使每个用户的配置可更新。