HttpListenerElement 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ı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
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.sys
sağ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.sys
System.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 |
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() |
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) |