问题标签 [system.configuration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
25834 浏览

c# - 获取另一个exe的App.Config

我有一个带有App.Config文件的 exe。现在我想围绕 exe 创建一个包装 dll 以使用一些功能。

问题是如何从包装器 dll 访问 exe 中的 app.config 属性?

也许我的问题应该多一点,我在 exe 中有以下 app.config 内容:

问题是如何从包装器 dll 中获取“myValue”?


感谢您的解决方案。

实际上,我最初的想法是避免使用 XML 文件读取方法或 LINQ 或其他方法。我首选的解决方案是使用配置管理器库等

对于使用通常与访问 app.config 属性相关联的类的任何帮助,我将不胜感激。

0 投票
3 回答
3089 浏览

.net - 需要创建一个动态的 ConfigurationSection 也持有该类型

我需要创建一个配置部分,它能够将键值对存储在 app.config 文件中,并且无论它们的类型如何,都可以在运行时添加键值对。值保持其原始类型也很重要。我需要扩展以下接口

在运行时,我可以这样说:

我尝试使用 System.Configuration.Configuration.AppSettings,但问题在于它将键值对存储在字符串数组中。

我需要的是实现 System.Configuration.ConfigurationSection,我可以在其中控制单个设置的序列化方式。我注意到 Visual Studio 生成的设置就是这样做的。它使用反射来创建所有设置键。我需要的是动态地做这个运行时。

0 投票
2 回答
1764 浏览

.net - 下次如何加载动态创建的设置属性?

我创建了一种动态添加SettingsProperty到 .NETapp.config文件的方法。这一切都很好,但是当我下次启动我的应用程序时,我只能看到在设计器中创建的属性。如何加载属性运行时?

我的创建代码SettingsProperty如下所示:

下次运行时,我要求设置属性,但找不到之前创建的任何属性。不管我是否打电话ApplicationEnvironment.GlobalSettings.Reload();

0 投票
3 回答
6124 浏览

.net - WCF 和 System.Configuration 命名空间

当引用的 .NET Framework 2.0 程序集尝试在 IIS 托管的 WCF 服务中执行以下代码行时,我收到一个错误:

错误信息:

当不在独立 exe 中运行时,必须指定 exePath。

源代码:

有没有人遇到过这个问题,他们知道如何解决吗?

编辑:我的问题是,从向后兼容 .NET 2.0 程序集的 WCF 服务打开配置文件(app.config 和 web.config)的最佳方法是什么?

0 投票
1 回答
835 浏览

.net - HowTo:检测 .Net 配置节实例而不加载到内存中?

有谁知道如何检测.net 配置文件中是否存在配置部分的实例,而无需实际将配置部分加载到内存中,也不必手动解析 xml 文件 - 即使用 System.Configuration 命名空间。

我曾尝试使用 System.Configuration.ConfigurationManager.GetSection(...) 但这似乎返回了配置部分的“默认”实例,即使它在配置文件中不存在。

0 投票
2 回答
4974 浏览

c# - System.Configuration 的线程安全使用

是否有一种简单的方法可以通过线程安全的接口访问基于 System.Configuration 的自定义配置数据,而不需要每个执行上下文加载/重新加载配置信息,这将是计算上的负担?

System.Configuration 类与 Microsoft .Net 库文档中的大多数(全部?)其他类一样,都使用以下线程安全信息进行注释:

此类型的任何公共静态(在 Visual Basic 中为 Shared)成员都是线程安全的。不保证任何实例成员都是线程安全的。

根据我的阅读,从和其他类似方法(例如)ConfigurationSection返回的对象不能被假定为线程安全的,因此不应被多个执行上下文使用。这禁止将 a 存储在原本是线程安全的单例中,因为虽然对部分对象的访问可能是安全的,但对象本身的成员并不安全。ConfigurationManager.GetSection(string)OpenExeConfiguration(string exePath).GetSection(string)ConfigurationSection

然而,多次调用GetSection可能需要重新解析配置文件并分配ConfigurationSection具有高开销的新实例,考虑到配置在初始化后不太可能发生变化。此外,将配置数据复制到另一个已成为线程安全的对象似乎首先破坏了使用内置配置包的主要好处之一(无需太多样板即可轻松访问类型转换和验证的配置信息代码)。

那么,有没有一种方法可以System.Configuration以线程安全的方式使用,而不需要过度解析和分配配置部分?ConfigurationSection即使您通过接口访问它,实现您自己的功能是否使您免于 Microsoft 提供的缺乏保证(如果是这样,当需要访问 base的索引器System.Configuration时,您将如何实现它是线程安全的?ConfigurationSection访问配置的数据)?

0 投票
5 回答
14955 浏览

asp.net - 使用 ASPNet_Regiis 加密自定义配置部分 - 你能做到吗?

我有一个带有自定义配置部分的 Web 应用程序。该部分包含我想加密的信息(希望使用 ASPNet_RegIIS 而不是自己做)。

网络配置:

配置处理程序在尝试加密之前工作得很好。当我尝试使用以下方法对其进行加密时:

aspnet_regiis -pef "MyCustomSection" c:\inetpub\wwwroot\MyWebsite -prov DataProtectionConfigurationProvider

我收到一个错误:

加密配置部分...为 MyCustomSection 创建配置部分处理程序时出错:无法加载文件或程序集“MyAssembly”或其依赖项之一。该系统找不到指定的文件。(c:\inetpub\wwwroot\MyWebsite\web.config 第 5 行)

我尝试过配置/不配置提供程序。有/无部分组。有/没有事先启动网站。我已经尝试暂时将我的程序集放在 GAC 中进行注册。我还尝试了我的 log4net 部分,只是为了尝试不属于我的东西,但没有运气。我以管理员身份运行命令提示符。有任何想法吗?或者 ASPNet_RegIIS 不能用于自定义部分?

查看MSDN后的最后一个镜头是将我的处理程序更改为从 ConfigurationSection 继承而不是实现 IConfigurationSectionHandler,因为它在 2.0 中技术上已弃用(希望它与 aspnet_regiis 版本有关)。那里也没有运气。

任何想法让我知道。谢谢!

0 投票
2 回答
4852 浏览

c# - System.configuration web.config 和 app.config

在使用第三方 dll 时,我遇到了以下异常:

不在独立 exe 中运行时必须指定 exePath

带有以下痕迹

System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap, Boolean isMachine, ConfigurationUserLevel userLevel, String exePath)。

我发现的原因是它正在寻找 app.config 并且我在 web.config 中提供了详细信息。我的问题是:为什么 system.configuration 区分 web.config 和 app.config?有什么想法吗?

0 投票
1 回答
2533 浏览

c# - 使用 C# 更改“ClientSettingsSection”中的设置

是否可以在 exe 配置中更改ClientSettingsSection (System.Configuration.ClientSettingsSection) 中的设置值?不幸的是,ClientSettingsSection 集合中的设置是只读的

0 投票
2 回答
13833 浏览

c# - 从 ConfigurationElementCollection 获取配置元素

我(希望)设置了我自己设计的 ConfigurationElementCollection,并以电子邮件为键。怎么办?很难在网上真正找到。我如何能:

  1. 遍历它?

  2. 查看是否存在特定元素?

  3. 得到一个特定的元素?

...给定:

部分回答

1.

2. 将“此处的代码”替换为

3. 将“此处的代码”替换为

微臭。