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, yapılandırma dosyasının önceki örnek için geçerli olan 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. Özel yapılandırma bölümlerine ConfigurationSection özel işleme ve programlı erişim sağlamak için sınıfını genişletin.
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.
Uyarı
.NET Framework'ün önceki sürümlerinde yapılandırma bölümü işleyicileri, yapılandırma ayarlarında program aracılığıyla değişiklik yapmak için 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 programlı 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 ö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 aracılığıyla 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ı 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 izinleri okuyun.
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ıfından daha iyi bir 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 izinleri okuyun.
Oluşturucular
| Name | Description |
|---|---|
| ConfigurationSection() |
ConfigurationSection sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| CurrentConfiguration |
Geçerli Configuration örneğin ait olduğu yapılandırma hiyerarşisini temsil eden en üst düzey ConfigurationElement örneğe başvuru alır. (Devralındığı yer: ConfigurationElement) |
| ElementInformation |
Özelleştirilebilir olmayan bilgileri ve nesnenin işlevselliğini ElementInformation içeren bir ConfigurationElement nesne alır. (Devralındığı yer: ConfigurationElement) |
| ElementProperty |
Nesnenin ConfigurationElementProperty kendisini temsil ConfigurationElement eden nesneyi alır. (Devralındığı yer: ConfigurationElement) |
| EvaluationContext |
ContextInformation nesnesi için ConfigurationElement nesnesini alır. (Devralındığı yer: ConfigurationElement) |
| HasContext |
özelliğinin CurrentConfigurationolup olmadığını |
| 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 |
Özelleştirilebilir olmayan bilgileri ve nesnenin işlevselliğini SectionInformation içeren bir ConfigurationSection nesne alır. |
Yöntemler
| Name | Description |
|---|---|
| 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() |
Geçerli örneğin Type 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ı gösteren 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 Objectbasit 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) |
Yapılandırma nesnesi hiyerarşisi .NET Framework'ün belirtilen hedef sürümü için seri hale getirildiğinde belirtilen öğenin seri hale getirilip getirilmeyeceğini gösterir. |
| ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
yapılandırma nesnesi hiyerarşisi .NET Framework'ün belirtilen hedef sürümü için seri hale getirildiğinde belirtilen özelliğin seri hale getirilip getirilmeyeceğini gösterir. |
| ShouldSerializeSectionInTargetVersion(FrameworkName) |
Yapılandırma nesnesi hiyerarşisi .NET Framework'ün belirtilen hedef sürümü için seri hale getirildiğinde geçerli ConfigurationSection örneğinin seri hale getirilip getirilmeyeceğini gösterir. |
| ToString() |
Geçerli nesneyi temsil eden bir dize 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) |