更新:2007 年 11 月
命名空间:
System.Configuration 程序集:
System.Configuration(在 System.Configuration.dll 中)
Public Class ConfigurationSectionGroup
Dim instance As ConfigurationSectionGroup
public class ConfigurationSectionGroup
public ref class ConfigurationSectionGroup
public class ConfigurationSectionGroup
public class ConfigurationSectionGroup
因为有些配置节是相关的,所以将它们放入一个节组中通常是很方便的做法。ConfigurationSectionGroup 类表示配置文件中的 <sectionGroup> XML 元素。
使用 Sections 属性可访问此 ConfigurationSectionGroup 对象中包含的节。
ConfigurationSectionGroup 对象还可以包含其他 ConfigurationSectionGroup 对象,这些对象可通过 SectionGroups 属性访问。
下面的代码示例演示如何使用 ConfigurationSectionGroup 类。
Imports System
Imports System.Collections
Imports System.Configuration
Class UsingConfigurationSectionGroup
Private Shared indentLevel As Integer = 0
Public Shared Sub Main(ByVal args() As String)
' Get the application configuration file.
Dim config _
As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
' Get the collection of the section groups.
Dim sectionGroups _
As ConfigurationSectionGroupCollection = _
config.SectionGroups
ShowSectionGroupCollectionInfo(sectionGroups)
End Sub 'Main
Shared Function getSpacer() As String
Dim spacer As String = ""
Dim i As Integer
For i = 0 To indentLevel - 1
spacer = spacer + " "
Next i
Return spacer
End Function 'getSpacer
Overloads Shared Sub ForceDeclaration( _
ByVal sectionGroup As ConfigurationSectionGroup)
' Get the application configuration file.
Dim config _
As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
sectionGroup.ForceDeclaration()
config.Save(ConfigurationSaveMode.Full)
Console.WriteLine( _
"Forced declaration for the group: {0}", _
sectionGroup.Name)
End Sub 'ForceDeclaration
Overloads Shared Sub ForceDeclaration( _
ByVal sectionGroup _
As ConfigurationSectionGroup, _
ByVal force As Boolean)
sectionGroup.ForceDeclaration(force)
Console.WriteLine( _
"Forced declaration for the group: {0} is {1}", _
sectionGroup.Name, force.ToString())
End Sub 'ForceDeclaration
Shared Sub ShowSectionGroupCollectionInfo( _
ByVal sectionGroups _
As ConfigurationSectionGroupCollection)
Dim groupName As String
For Each groupName In sectionGroups.Keys
Dim sectionGroup _
As ConfigurationSectionGroup = _
CType(sectionGroups(groupName), _
ConfigurationSectionGroup)
ShowSectionGroupInfo(sectionGroup)
If sectionGroup.Name = "system.web" Then
ForceDeclaration(sectionGroup, True)
End If
Next groupName
End Sub 'ShowSectionGroupCollectionInfo
Shared Sub ShowSectionGroupInfo( _
ByVal sectionGroup As ConfigurationSectionGroup)
' Get the group name including the
' parent group names.
Console.WriteLine((getSpacer() + _
"Section Group Name: " + sectionGroup.Name))
' Get the group name without including
' the parent group names.
Console.WriteLine((getSpacer() + _
"Section Group Name: " + _
sectionGroup.SectionGroupName))
indentLevel += 1
Console.WriteLine((getSpacer() + _
"Type: " + sectionGroup.Type))
Console.WriteLine((getSpacer() + _
"Is Group Required?: " + _
sectionGroup.IsDeclarationRequired.ToString()))
Console.WriteLine((getSpacer() + _
"Is Group Declared?: " + _
sectionGroup.IsDeclared.ToString()))
Console.WriteLine((getSpacer() + _
"Contained Sections:"))
indentLevel += 1
Dim sectionCollection _
As ConfigurationSectionCollection = _
sectionGroup.Sections
Dim sectionName As String
For Each sectionName In sectionCollection.Keys
Dim section As ConfigurationSection = _
CType(sectionCollection( _
sectionName), ConfigurationSection)
Console.WriteLine((getSpacer() + _
"Section Name:" + _
section.SectionInformation.Name))
Next sectionName
indentLevel -= 1
Console.WriteLine((getSpacer() + _
"Contained Section Groups:"))
indentLevel += 1
Dim sectionGroups _
As ConfigurationSectionGroupCollection = _
sectionGroup.SectionGroups
ShowSectionGroupCollectionInfo(sectionGroups)
indentLevel -= 1
End Sub 'ShowSectionGroupInfo
End Class 'UsingConfigurationSectionGroup
using System;
using System.Collections;
using System.Configuration;
namespace Samples.AspNet
{
class UsingConfigurationSectionGroup
{
static int indentLevel = 0;
static void Main(string[] args)
{
// Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Get the collection of the section groups.
ConfigurationSectionGroupCollection
sectionGroups = config.SectionGroups;
ShowSectionGroupCollectionInfo(sectionGroups);
}
static String getSpacer()
{
String spacer = "";
for (int i = 0; i < indentLevel; i++)
{
spacer = spacer + " ";
}
return spacer;
}
static void ForceDeclaration(
ConfigurationSectionGroup sectionGroup)
{
// Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
sectionGroup.ForceDeclaration();
config.Save(ConfigurationSaveMode.Full);
Console.WriteLine(
"Forced declaration for the group: {0}",
sectionGroup.Name);
}
static void ForceDeclaration(
ConfigurationSectionGroup sectionGroup,
bool force)
{
sectionGroup.ForceDeclaration(force);
Console.WriteLine(
"Forced declaration for the group: {0} is {1}",
sectionGroup.Name, force.ToString());
}
static void ShowSectionGroupCollectionInfo(
ConfigurationSectionGroupCollection sectionGroups)
{
foreach (String groupName in sectionGroups.Keys)
{
ConfigurationSectionGroup sectionGroup =
(ConfigurationSectionGroup)sectionGroups[groupName];
ShowSectionGroupInfo(sectionGroup);
if (sectionGroup.Name == "system.web")
{
ForceDeclaration(sectionGroup, true);
}
}
}
static void ShowSectionGroupInfo(
ConfigurationSectionGroup sectionGroup)
{
// Get the group name including the
// parent group names.
Console.WriteLine(getSpacer() +
"Section Group Name: " +
sectionGroup.Name);
// Get the group name without including
// the parent group names.
Console.WriteLine(getSpacer() +
"Section Group Name: " +
sectionGroup.SectionGroupName);
indentLevel++;
Console.WriteLine(getSpacer() +
"Type: " + sectionGroup.Type);
Console.WriteLine(getSpacer() +
"Is Group Required?: " +
sectionGroup.IsDeclarationRequired);
Console.WriteLine(getSpacer() +
"Is Group Declared?: " +
sectionGroup.IsDeclared);
Console.WriteLine(getSpacer() +
"Contained Sections:");
indentLevel++;
ConfigurationSectionCollection sectionCollection =
sectionGroup.Sections;
foreach (String sectionName in sectionCollection.Keys)
{
ConfigurationSection section =
(ConfigurationSection)sectionCollection[sectionName];
Console.WriteLine(getSpacer() + "Section Name:"
+ section.SectionInformation.Name);
}
indentLevel--;
Console.WriteLine(getSpacer() +
"Contained Section Groups:");
indentLevel++;
ConfigurationSectionGroupCollection sectionGroups =
sectionGroup.SectionGroups;
ShowSectionGroupCollectionInfo(sectionGroups);
indentLevel--;
}
}
System..::.Object
System.Configuration..::.ConfigurationSectionGroup
System.Configuration..::.ApplicationSettingsGroup
System.Configuration..::.UserSettingsGroup
System.Net.Configuration..::.MailSettingsSectionGroup
System.Net.Configuration..::.NetSectionGroup
System.Runtime.Serialization.Configuration..::.SerializationSectionGroup
System.ServiceModel.Activation.Configuration..::.ServiceModelActivationSectionGroup
System.ServiceModel.Configuration..::.ServiceModelSectionGroup
System.Transactions.Configuration..::.TransactionsSectionGroup
System.Web.Configuration..::.ScriptingSectionGroup
System.Web.Configuration..::.ScriptingWebServicesSectionGroup
System.Web.Configuration..::.SystemWebCachingSectionGroup
System.Web.Configuration..::.SystemWebExtensionsSectionGroup
System.Web.Configuration..::.SystemWebSectionGroup
System.Xml.Serialization.Configuration..::.SerializationSectionGroup
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5、3.0、2.0
参考
ConfigurationSectionGroup
其他资源