- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
背景
我想将以下内容插入我的 web.config
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
</sectionGroup>
(猜测我想要达到的目标没有奖品!)但我变得非常困惑。 MSDN 上的文档建议我需要创建一个 ConfurationSection 的子类,如果我想将一个添加到一个组中。我自己写了一个小的 Windows 应用程序来帮助我解决这个问题,但我并没有走得太远!这是相关代码 - 它试图仅添加“安全”部分。
private void AddElmahSectionGroup()
{
string exePath = Path.Combine(Environment.CurrentDirectory, "NameOfExe.exe");
Configuration configuration = ConfigurationManager.OpenExeConfiguration(exePath);
ConfigurationSectionGroup elmahGroup = configuration.GetSectionGroup(elmahSectionGroupName);
if (elmahGroup != null)
{
Console.WriteLine("sectionGroup with name {0} already in web.config", elmahSectionGroupName);
return;
}
elmahGroup = new ConfigurationSectionGroup();
configuration.SectionGroups.Add(elmahSectionGroupName, elmahGroup);
var securitySection = new Section { Name = "security", RequirePermission = false, Type = "Elmah.SecuritySectionHandler, Elmah" };
elmahGroup.Sections.Add("security", securitySection);
configuration.Save();
}
public class Section : ConfigurationSection
{
[ConfigurationProperty("name", IsRequired = true)]
public string Name { get { return (String)this["name"]; } set { this["name"] = value; } }
[ConfigurationProperty("requirePermission", IsRequired = true)]
public bool RequirePermission { get { return (bool)this["requirePermission"]; } set { this["requirePermission"] = value; } }
[ConfigurationProperty("type", IsRequired = true)]
public string Type { get { return (string)this["type"]; } set { this["type"] = value; } }
}
这是生成的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="elmah" type="System.Configuration.ConfigurationSectionGroup, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" >
<section name="security" type="ConfigEditing.Form1+ElmahLogic+Section, ConfigEditing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</sectionGroup>
</configSections>
<elmah>
<security name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
</elmah>
</configuration>
这完全扭曲了我的瓜:-
section
元素的 type
是我的类的类型(派生自 ConfigurationSection)我对这些发现并不感到惊讶,因为我真的不了解 API,但我只是没有找到关于我想做什么的任何体面的文档。这里的任何人都可以提供帮助 - 即使它只是指向我一个 MSDN 示例,这是一个实际的完整工作示例。
最佳答案
一个简单的示例,它将向 app.config 添加如下部分:
//<configSections>
// <sectionGroup name="elmah" type="Overflow.CustomConfigurationSectionGroup, Overflow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" >
// </sectionGroup>
//</configSections>
namespace Overflow
{
public class CustomSecuritySection : ConfigurationSection
{
}
public class CustomConfigurationSectionGroup : ConfigurationSectionGroup
{
public CustomConfigurationSectionGroup()
{
Security = new CustomSecuritySection();
}
[ConfigurationProperty("security")]
public CustomSecuritySection Security { get; private set; }
}
class Program
{
static void Main(string[] args)
{
var config = ConfigurationManager.OpenExeConfiguration(Path.Combine(Application.StartupPath, Application.ProductName + ".exe"));
config.SectionGroups.Add("elmah", new CustomConfigurationSectionGroup());
config.Save(ConfigurationSaveMode.Modified);
}
}
}
关于c# - 如何以编程方式将 sectionGroup 添加到 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618220/
我正在尝试添加 sectionGroup configuration/configSections 的元素使用 Powershell 的 web.config 中的元素。 我现在有 $filePath
当尝试访问 ConnectionConfiguration 时,对于整数数据类型总是返回默认值或 0。不会抛出任何错误,它只是无法获取每个属性的值。请帮我解决这个问题。 我在控制台应用程序中有一个 a
背景 我想将以下内容插入我的 web.config (猜测我想要达到的目标没有奖品!)但我变得非常困惑。 MSDN 上的文档建议我需要创建一个 Confura
我在集成测试中托管了一个小型 ASP.NET Web 应用程序(在 NUnit 中执行)。我的产品代码通常可以从 web.config 或 app.config 文件中找到配置数据,但是由于某种原因,
这是什么意思? allowExeDefinition="MachineToLocalUser" 最佳答案 allowExeDefinition 控制存储用户设置的
这是我的想法: 我想要一个小的可执行文件有一个包含多个部分的 app.config 文件,这些部分位于 sectionGroup“applicationSettings”(不是“appSettings
我是一名优秀的程序员,十分优秀!