HttpListenerElement Sınıf

Tanım

Yapılandırma dosyasındaki HttpListener öğesini temsil eder. Bu sınıf devralınamaz.

public ref class HttpListenerElement sealed : System::Configuration::ConfigurationElement
public sealed class HttpListenerElement : System.Configuration.ConfigurationElement
type HttpListenerElement = class
    inherit ConfigurationElement
Public NotInheritable Class HttpListenerElement
Inherits ConfigurationElement
Devralma
HttpListenerElement

Açıklamalar

Bu sınıf httpListener> Öğesi (Ağ Ayarları) yapılandırma öğesine karşılık gelir<. Bu sınıf, yapılandırma dosyalarında depolanabilen bilgilere program aracılığıyla erişim sağlar.

özelliği, UnescapeRequestUrl yüzde kodlamalı değerlerin dönüştürüldüğü ve diğer normalleştirme adımlarının atıldığı dönüştürülmüş URI yerine ham ayarlanmamış URI'nin kullanılıp kullanılmadığını gösterir HttpListener .

Bir HttpListener örnek hizmet aracılığıyla http.sys bir istek aldığında, tarafından http.syssağlanan URI dizesinin bir örneğini oluşturur ve özelliği olarak HttpListenerRequest.Url kullanıma sunar.

Hizmet http.sys iki istek URI dizesini kullanıma sunar:

  • Ham URI

  • Dönüştürülen URI

Ham URI, bir HTTP isteğinin istek satırında sağlanan URI'dir System.Uri :

GET /path/

Host: www.contoso.com

Yukarıda bahsedilen istek için tarafından http.sys sağlanan ham URI "/path/" şeklindedir. Bu, ağ üzerinden gönderildiği için HTTP fiilini izleyen dizeyi temsil eder.

Hizmet, http.sys HTTP istek satırında sağlanan URI'yi ve isteğin iletilmesi gereken kaynak sunucuyu belirlemek için Konak üst bilgisini kullanarak istekte sağlanan bilgilerden dönüştürülmüş bir URI oluşturur. Bu, istekten alınan bilgiler bir dizi kayıtlı URI ön eki ile karşılaştırılarak yapılır. HTTP Server SDK belgeleri, bu dönüştürülmüş URI'yi HTTP_COOKED_URL yapısı olarak ifade eder.

İsteği kayıtlı URI ön ekleriyle karşılaştırabilmek için istekte bir miktar normalleştirme yapılması gerekir. Yukarıdaki örnek için dönüştürülen URI aşağıdaki gibi olacaktır:

http://www.contoso.com/path/

Hizmet, http.sys özellik değerini ve istek satırındaki dizeyi birleştirerek Uri.Host dönüştürülmüş bir URI oluşturur. Ayrıca ve http.sysSystem.Uri sınıfı da aşağıdakileri yapar:

  • Kodlanmış tüm yüzde değerlerinin kaçışlarını çözer.

  • Yüzde kodlamalı ASCII olmayan karakterleri UTF-16 karakter gösterimine dönüştürür. UTF-8 ve ANSI/DBCS karakterlerinin yanı sıra Unicode karakterlerinin de (%uXXXX biçimini kullanan Unicode kodlaması) desteklendiğini unutmayın.

  • Yol sıkıştırma gibi diğer normalleştirme adımlarını yürütür.

İstek, yüzde kodlamalı değerler için kullanılan kodlama hakkında herhangi bir bilgi içermediğinden, yalnızca yüzde kodlanmış değerleri ayrıştırarak doğru kodlamayı belirlemek mümkün olmayabilir.

Bu nedenle http.sys , işlemi değiştirmek için iki kayıt defteri anahtarı sağlar:

Kayıt Defteri Anahtarı Varsayılan değer Description
EnableNonUTF8 1 Sıfırsa, http.sys yalnızca UTF-8 kodlu URL'leri kabul eder.

Sıfır değilse, http.sys isteklerde ANSI ile kodlanmış veya DBCS ile kodlanmış URL'leri de kabul eder.
FavorUTF8 1 Sıfır değilse, http.sys her zaman önce URL'nin kodunu UTF-8 olarak çözmeyi dener; bu dönüştürme başarısız olursa ve EnableNonUTF8 sıfır değilse, Http.sys bunu ANSI veya DBCS olarak çözmeyi dener.

Sıfır (ve EnableNonUTF8 sıfır değilse), http.sys ANSI veya DBCS olarak kodunu çözmeyi dener; başarılı olmazsa UTF-8 dönüştürmesini dener.

HttpListener bir istek aldığında, özelliğine giriş olarak öğesinden http.sys dönüştürülen URI'yi Url kullanır.

URI'lerdeki karakterlerin ve sayıların yanı sıra destekleyici karakterlere de ihtiyaç vardır. "1/3812" müşteri numarasının müşteri bilgilerini almak için kullanılan aşağıdaki URI'ye örnek verilmiştir:

http://www.contoso.com/Customer('1%2F3812')/

Uri(%2F) içindeki yüzde kodlamalı eğik çizgiye dikkat edin. Bu gereklidir, çünkü bu durumda eğik çizgi karakteri bir yol sınırlayıcısı değil verileri temsil eder.

Dizenin Uri oluşturucusunun geçirilmesi aşağıdaki URI'ye yol açar:

http://www.contoso.com/Customer('1/3812')/

Yolun kesimlerine bölünmesi aşağıdaki öğelere neden olur:

Customer('1

3812')

Bu, isteği gönderenin amacı değildir.

UnescapeRequestUrl Özellik false olarak ayarlanırsa, isteği aldığında HttpListener özelliğine giriş olarak öğesinden http.sys dönüştürülen URI yerine ham URI'yi Url kullanır.

Oluşturucular

HttpListenerElement()

HttpListenerElement 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

Özelleştirilebilir olmayan bilgileri ve nesnenin 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 nullolup olmadığını CurrentConfiguration belirten bir değer alır.

(Devralındığı yer: ConfigurationElement)
Item[ConfigurationProperty]

Bu yapılandırma öğesinin bir ö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)
Timeouts

Bir HttpListener nesne için kullanılan varsayılan zaman aşımı öğelerini alır.

UnescapeRequestUrl

Dönüştürülen URI yerine kaynaksız ham URI'yi kullanıp kullanmadığını belirten HttpListener bir değer alır.

Yöntemler

DeserializeElement(XmlReader, Boolean)

Yapılandırma dosyasından XML okur.

(Devralındığı yer: ConfigurationElement)
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)
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 başlangıç 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 bu yana değiştirilip değiştirilmediğini gösterir.

(Devralındığı yer: ConfigurationElement)
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 özellikler 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.

(Devralındığı yer: ConfigurationElement)
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)
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)

Belirtilen değere bir özellik ayarlar.

(Devralındığı yer: ConfigurationElement)
SetReadOnly()

Nesnesinin IsReadOnly() ve tüm alt öğelerinin ConfigurationElement özelliğini ayarlar.

(Devralındığı yer: ConfigurationElement)
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)

Şunlara uygulanır

Ayrıca bkz.