Aracılığıyla paylaş


ConfigurationSection Sınıf

Tanım

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
ConfigurationSection
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ı null gösteren bir değer alır.

(Devralındığı yer: ConfigurationElement)
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()false değerini olarak sıfırlar.

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)

Şunlara uygulanır

Ayrıca bkz.