ConfigurationSection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yapılandırma dosyası içindeki bir bölümü temsil eder.
public ref class ConfigurationSection abstract : System::Configuration::ConfigurationElement
public abstract class ConfigurationSection : System.Configuration.ConfigurationElement
type ConfigurationSection = class
inherit ConfigurationElement
Public MustInherit Class ConfigurationSection
Inherits ConfigurationElement
- Devralma
- Türetilmiş
Örnekler
Aşağıdaki örnekte özel bölümün program aracılığıyla nasıl uygulanacakları gösterilmektedir.
Öznitelikli model kullanılarak uygulanan özel bölümün nasıl uygulanıp kullanılacağını gösteren eksiksiz bir örnek için bkz ConfigurationElement. .
// Define a custom section.
// The CustomSection type allows to define a custom section
// programmatically.
public sealed class CustomSection :
ConfigurationSection
{
// The collection (property bag) that contains
// the section properties.
private static ConfigurationPropertyCollection _Properties;
// Internal flag to disable
// property setting.
private static bool _ReadOnly;
// The FileName property.
private static readonly ConfigurationProperty _FileName =
new ConfigurationProperty("fileName",
typeof(string),"default.txt",
ConfigurationPropertyOptions.IsRequired);
// The MaxUsers property.
private static readonly ConfigurationProperty _MaxUsers =
new ConfigurationProperty("maxUsers",
typeof(long), (long)1000,
ConfigurationPropertyOptions.None);
// The MaxIdleTime property.
private static readonly ConfigurationProperty _MaxIdleTime =
new ConfigurationProperty("maxIdleTime",
typeof(TimeSpan), TimeSpan.FromMinutes(5),
ConfigurationPropertyOptions.IsRequired);
// CustomSection constructor.
public CustomSection()
{
// Property initialization
_Properties =
new ConfigurationPropertyCollection();
_Properties.Add(_FileName);
_Properties.Add(_MaxUsers);
_Properties.Add(_MaxIdleTime);
}
// This is a key customization.
// It returns the initialized property bag.
protected override ConfigurationPropertyCollection Properties
{
get
{
return _Properties;
}
}
private new bool IsReadOnly
{
get
{
return _ReadOnly;
}
}
// Use this to disable property setting.
private void ThrowIfReadOnly(string propertyName)
{
if (IsReadOnly)
throw new ConfigurationErrorsException(
"The property " + propertyName + " is read only.");
}
// Customizes the use of CustomSection
// by setting _ReadOnly to false.
// Remember you must use it along with ThrowIfReadOnly.
protected override object GetRuntimeObject()
{
// To enable property setting just assign true to
// the following flag.
_ReadOnly = true;
return base.GetRuntimeObject();
}
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
MinLength = 1, MaxLength = 60)]
public string FileName
{
get
{
return (string)this["fileName"];
}
set
{
// With this you disable the setting.
// Remember that the _ReadOnly flag must
// be set to true in the GetRuntimeObject.
ThrowIfReadOnly("FileName");
this["fileName"] = value;
}
}
[LongValidator(MinValue = 1, MaxValue = 1000000,
ExcludeRange = false)]
public long MaxUsers
{
get
{
return (long)this["maxUsers"];
}
set
{
this["maxUsers"] = value;
}
}
[TimeSpanValidator(MinValueString = "0:0:30",
MaxValueString = "5:00:0",
ExcludeRange = false)]
public TimeSpan MaxIdleTime
{
get
{
return (TimeSpan)this["maxIdleTime"];
}
set
{
this["maxIdleTime"] = value;
}
}
}
' Define a custom section.
' The CustomSection type allows to define a custom section
' programmatically.
NotInheritable Public Class CustomSection
Inherits ConfigurationSection
' The collection (property bag) that contains
' the section properties.
Private Shared _Properties As ConfigurationPropertyCollection
' Internal flag to disable
' property setting.
Private Shared _ReadOnly As Boolean
' The FileName property.
Private Shared _FileName As New ConfigurationProperty( _
"fileName", GetType(String), _
"default.txt", _
ConfigurationPropertyOptions.IsRequired)
' The MaxUsers property.
Private Shared _MaxUsers As New ConfigurationProperty( _
"maxUsers", GetType(Long), _
CType(1000, Long), _
ConfigurationPropertyOptions.None)
' The MaxIdleTime property.
Private Shared _MaxIdleTime As New ConfigurationProperty( _
"maxIdleTime", GetType(TimeSpan), _
TimeSpan.FromMinutes(5), _
ConfigurationPropertyOptions.IsRequired)
' CustomSection constructor.
Public Sub New()
' Property initialization
_Properties = _
New ConfigurationPropertyCollection()
_Properties.Add(_FileName)
_Properties.Add(_MaxUsers)
_Properties.Add(_MaxIdleTime)
End Sub
' This is a key customization.
' It returns the initialized property bag.
Protected Overrides ReadOnly Property Properties() _
As ConfigurationPropertyCollection
Get
Return _Properties
End Get
End Property
Private Shadows ReadOnly Property IsReadOnly() As Boolean
Get
Return _ReadOnly
End Get
End Property
' Use this to disable property setting.
Private Sub ThrowIfReadOnly(propertyName As String)
If IsReadOnly Then
Throw New ConfigurationErrorsException( _
"The property " + propertyName + " is read only.")
End If
End Sub
' Customizes the use of CustomSection
' by setting _ReadOnly to false.
' Remember you must use it along with ThrowIfReadOnly.
Protected Overrides Function GetRuntimeObject() As Object
' To enable property setting just assign true to
' the following flag.
_ReadOnly = True
Return MyBase.GetRuntimeObject()
End Function 'GetRuntimeObject
<StringValidator( _
InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", _
MinLength:=1, MaxLength:=60)> _
Public Property FileName() As String
Get
Return CStr(Me("fileName"))
End Get
Set(ByVal value As String)
' With this you disable the setting.
' Remember that the _ReadOnly flag must
' be set to true in the GetRuntimeObject.
ThrowIfReadOnly("FileName")
Me("fileName") = value
End Set
End Property
<LongValidator( _
MinValue:=1, MaxValue:=1000000, _
ExcludeRange:=False)> _
Public Property MaxUsers() As Long
Get
Return Fix(Me("maxUsers"))
End Get
Set(ByVal value As Long)
Me("maxUsers") = Value
End Set
End Property
<TimeSpanValidator( _
MinValueString:="0:0:30", _
MaxValueString:="5:00:0", ExcludeRange:=False)> _
Public Property MaxIdleTime() As TimeSpan
Get
Return CType(Me("maxIdleTime"), TimeSpan)
End Get
Set(ByVal value As TimeSpan)
Me("maxIdleTime") = Value
End Set
End Property
End Class
Aşağıdaki örnek, önceki örnekte geçerli olduğu gibi yapılandırma dosyasının bir alıntısıdır.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="CustomSection" type="Samples.AspNet. CustomSection, CustomConfigurationSection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />
</configSections>
<CustomSection fileName="default.txt" maxUsers="1000" maxIdleTime="00:15:00" />
</configuration>
Açıklamalar
Sınıfını ConfigurationSection özel bir bölüm türü uygulamak için kullanırsınız. ConfigurationSection Özel yapılandırma bölümlerine özel işleme ve programlı erişim sağlamak için sınıfını genişletin. Özel yapılandırma bölümlerini kullanma hakkında bilgi için bkz . Nasıl yapılır: ConfigurationSection Kullanarak Özel Yapılandırma Bölümleri Oluşturma.
Bölüm, işleme türünü öğesindeki configSections
bir girişle kaydeder. Örnek için Örnek bölümünde gösterilen yapılandırma dosyası alıntısını inceleyin.
Not
.NET Framework'ün önceki sürümlerinde, yapılandırma ayarlarına program aracılığıyla değişiklik yapmak için yapılandırma bölümü işleyicileri kullanılıyordu. Şimdi, tüm varsayılan yapılandırma bölümleri sınıfını genişleten ConfigurationSection sınıflarla temsil edilir.
Uygulayanlara Notlar
Özel yapılandırma bölümleri oluşturmak için program aracılığıyla veya bildirim temelli (öznitelikli) bir kodlama modeli kullanabilirsiniz:
Programlı model. Bu model, her bölüm özniteliği için değerini almak veya ayarlamak ve temel alınan ConfigurationElement temel sınıfın iç özellik paketine eklemek için bir özellik oluşturmanızı gerektirir.
Bildirim temelli model. Öznitelikli model olarak da adlandırılan bu daha basit model, bir özellik kullanarak ve bunu özniteliklerle süsleyerek bölüm özniteliği tanımlamanızı sağlar. Bu öznitelikler, ASP.NET yapılandırma sistemine özellik türleri ve varsayılan değerleri hakkında bilgi verir. Yansıma yoluyla elde edilen bu bilgilerle, ASP.NET yapılandırma sistemi bölüm özelliği nesnelerini oluşturur ve gerekli başlatmayı gerçekleştirir.
sınıfı, Configuration yapılandırma dosyalarını düzenlemek için programlı erişime izin verir. Bu dosyalara okumak veya yazmak için aşağıdaki gibi erişebilirsiniz:
Gönüllü -lük. Yapılandırma bilgilerini okumak için veya GetSectionGroup(String) kullanırsınızGetSection(String). Okuyan kullanıcının veya işlemin aşağıdaki izinlere sahip olması gerektiğini unutmayın:
Geçerli yapılandırma hiyerarşisi düzeyinde yapılandırma dosyasında okuma izni.
Tüm üst yapılandırma dosyalarındaki okuma izinleri.
Uygulamanızın kendi yapılandırmasına salt okunur erişime ihtiyacı varsa, Web uygulamaları söz konusu olduğunda aşırı yüklenmiş yöntemleri veya GetSection(String) istemci uygulamaları söz konusu olduğunda yöntemini kullanmanız GetSection önerilir.
Bu yöntemler, geçerli uygulama için önbelleğe alınmış yapılandırma değerlerine erişim sağlar ve bu da sınıftan daha iyi performansa Configuration sahiptir.
Not: Parametre alan statik GetSection
bir path
yöntem kullanırsanız, path
parametre kodun çalıştığı uygulamaya başvurmalıdır; aksi takdirde parametre yoksayılır ve çalışmakta olan uygulamanın yapılandırma bilgileri döndürülür.
Yazma. Yapılandırma bilgilerini yazmak için yöntemlerden birini Save kullanırsınız. Yazan kullanıcının veya işlemin aşağıdaki izinlere sahip olması gerektiğini unutmayın:
Geçerli yapılandırma hiyerarşisi düzeyinde yapılandırma dosyası ve dizini üzerinde yazma izni.
Tüm yapılandırma dosyalarındaki okuma izinleri.
Oluşturucular
ConfigurationSection() |
ConfigurationSection sınıfının yeni bir örneğini başlatır. |
Özellikler
CurrentConfiguration |
Geçerli ConfigurationElement örneğin ait olduğu yapılandırma hiyerarşisini temsil eden en üst düzey Configuration örneğe başvuru alır. (Devralındığı yer: ConfigurationElement) |
ElementInformation |
Nesnenin özelleştirilebilir olmayan bilgilerini ve işlevselliğini ConfigurationElement içeren bir ElementInformation nesnesi alır. (Devralındığı yer: ConfigurationElement) |
ElementProperty |
Nesnenin ConfigurationElementProperty kendisini temsil ConfigurationElement eden nesneyi alır. (Devralındığı yer: ConfigurationElement) |
EvaluationContext |
Nesnenin ContextInformation nesnesini ConfigurationElement alır. (Devralındığı yer: ConfigurationElement) |
HasContext |
özelliğinin |
Item[ConfigurationProperty] |
Bu yapılandırma öğesinin özelliğini veya özniteliğini alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
Item[String] |
Bu yapılandırma öğesinin bir özelliğini, özniteliğini veya alt öğesini alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
LockAllAttributesExcept |
Kilitli özniteliklerin koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockAllElementsExcept |
Kilitli öğeler koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockAttributes |
Kilitli özniteliklerin koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockElements |
Kilitli öğeler koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
LockItem |
Öğesinin kilitli olup olmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: ConfigurationElement) |
Properties |
Özellik koleksiyonunu alır. (Devralındığı yer: ConfigurationElement) |
SectionInformation |
SectionInformation Özelleştirilebilir olmayan bilgileri ve nesnenin işlevselliğini ConfigurationSection içeren bir nesnesi alır. |
Yöntemler
DeserializeElement(XmlReader, Boolean) |
Yapılandırma dosyasından XML okur. (Devralındığı yer: ConfigurationElement) |
DeserializeSection(XmlReader) |
Yapılandırma dosyasından XML okur. |
Equals(Object) |
Geçerli ConfigurationElement örneği belirtilen nesneyle karşılaştırır. (Devralındığı yer: ConfigurationElement) |
GetHashCode() |
Geçerli ConfigurationElement örneği temsil eden benzersiz bir değer alır. (Devralındığı yer: ConfigurationElement) |
GetRuntimeObject() |
Türetilmiş bir sınıfta geçersiz kılındığında özel bir nesne döndürür. |
GetTransformedAssemblyString(String) |
Belirtilen derleme adının dönüştürülmüş sürümünü döndürür. (Devralındığı yer: ConfigurationElement) |
GetTransformedTypeString(String) |
Belirtilen tür adının dönüştürülmüş sürümünü döndürür. (Devralındığı yer: ConfigurationElement) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
Init() |
ConfigurationElement Nesneyi ilk durumuna ayarlar. (Devralındığı yer: ConfigurationElement) |
InitializeDefault() |
Nesne için varsayılan değer kümesini başlatmak için ConfigurationElement kullanılır. (Devralındığı yer: ConfigurationElement) |
IsModified() |
Bu yapılandırma öğesinin türetilmiş bir sınıfta uygulandığında son kaydedildiğinden veya yüklendiğinden beri değiştirilip değiştirilmediğini gösterir. |
IsReadOnly() |
Nesnenin ConfigurationElement salt okunur olup olmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
ListErrors(IList) |
Bu ConfigurationElement nesnedeki ve tüm alt öğelerdeki invalid-property hatalarını geçirilen listeye ekler. (Devralındığı yer: ConfigurationElement) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Seri durumdan çıkarma sırasında bilinmeyen bir öznitelikle karşılaşılıp karşılaşılmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Seri durumdan çıkarma sırasında bilinmeyen bir öğeyle karşılaşılıp karşılaşılmadığını belirten bir değer alır. (Devralındığı yer: ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Gerekli bir özellik bulunamadığında bir özel durum oluşturur. (Devralındığı yer: ConfigurationElement) |
PostDeserialize() |
Seri durumdan çıkarıldıktan sonra çağrılır. (Devralındığı yer: ConfigurationElement) |
PreSerialize(XmlWriter) |
Serileştirmeden önce çağrılır. (Devralındığı yer: ConfigurationElement) |
Reset(ConfigurationElement) |
Kilitler ve özellik koleksiyonları dahil olmak üzere nesnenin iç durumunu ConfigurationElement sıfırlar. (Devralındığı yer: ConfigurationElement) |
ResetModified() |
Türetilmiş bir sınıfta uygulandığında yönteminin IsModified() |
SerializeElement(XmlWriter, Boolean) |
Türetilmiş bir sınıfta uygulandığında bu yapılandırma öğesinin içeriğini yapılandırma dosyasına yazar. (Devralındığı yer: ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Bir dosyaya yazmak için tek bir bölüm olarak nesnenin ConfigurationSection birleştirilmemiş bir görünümünü içeren bir XML dizesi oluşturur. |
SerializeToXmlElement(XmlWriter, String) |
Türetilmiş bir sınıfta uygulandığında bu yapılandırma öğesinin dış etiketlerini yapılandırma dosyasına yazar. (Devralındığı yer: ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Bir özelliği belirtilen değere ayarlar. (Devralındığı yer: ConfigurationElement) |
SetReadOnly() |
IsReadOnly() Nesnenin ve tüm alt öğelerinin ConfigurationElement özelliğini ayarlar. (Devralındığı yer: ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde belirtilen öğenin seri hale getirilip getirilmeyeceğini gösterir. |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde belirtilen özelliğin seri hale getirilip getirilmeyeceğini gösterir. |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
.NET Framework'ün belirtilen hedef sürümü için yapılandırma nesnesi hiyerarşisi seri hale getirildiğinde geçerli ConfigurationSection örneğin seri hale getirilip getirilmeyeceğini gösterir. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
ConfigurationElement Kaydedilmemesi gereken tüm değerleri kaldırmak için nesnesini değiştirir. (Devralındığı yer: ConfigurationElement) |