Share via


HttpListenerElement Kelas

Definisi

Mewakili elemen HttpListener dalam file konfigurasi. Kelas ini tidak dapat diwariskan.

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
Warisan
HttpListenerElement

Keterangan

Kelas ini sesuai dengan <elemen konfigurasi httpListener> Element (Pengaturan Jaringan). Kelas ini menyediakan akses terprogram ke informasi yang dapat disimpan dalam file konfigurasi.

Properti UnescapeRequestUrl menunjukkan apakah HttpListener menggunakan URI mentah yang tidak dilewati alih-alih URI yang dikonversi di mana nilai yang dikodekan persen dikonversi dan langkah-langkah normalisasi lainnya diambil.

Saat instans HttpListener menerima permintaan melalui layanan http.sys, instans string URI yang disediakan oleh http.sys akan dibuat, dan menampilkannya sebagai properti HttpListenerRequest.Url.

Layanan http.sys memperlihatkan dua string URI permintaan:

  • URI mentah

  • URI yang dikonversi

URI mentah adalah System.Uri yang disediakan di baris permintaan dari permintaan HTTP:

GET /path/

Host: www.contoso.com

URI mentah yang disediakan oleh http.sys untuk permintaan yang disebutkan di atas, adalah "/path/". Ini mewakili string yang mengikuti kata kerja HTTP saat dikirim melalui jaringan.

Layanan http.sys membuat URI yang dikonversi dari informasi yang diberikan dalam permintaan menggunakan URI yang disediakan di baris permintaan HTTP dan header Host untuk menentukan server asal tempat permintaan harus diteruskan. Ini dilakukan dengan membandingkan informasi dari permintaan dengan satu set awalan URI terdaftar. Dokumentasi HTTP Server SDK mengacu pada URI yang dikonversi ini sebagai struktur HTTP_COOKED_URL .

Agar dapat membandingkan permintaan dengan awalan URI terdaftar, beberapa normalisasi permintaan perlu dilakukan. Untuk sampel di atas, URI yang dikonversi adalah sebagai berikut:

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

Layanan http.sys menggabungkan nilai properti Uri.Host dan string di baris permintaan untuk membuat URI yang dikonversi. Selain itu, http.sys dan System.Uri kelas juga melakukan hal berikut:

  • Membatalkan escape semua nilai yang dikodekan persen.

  • Mengonversi karakter non-ASCII yang dikodekan persen menjadi representasi karakter UTF-16. Perhatikan bahwa karakter UTF-8 dan ANSI/DBCS didukung, begitu juga karakter Unicode (pengodean Unicode menggunakan format %uXXXX).

  • Menjalankan langkah normalisasi lainnya, seperti pemadatan jalur.

Karena permintaan tidak berisi informasi apa pun tentang pengodean yang digunakan untuk nilai yang dikodekan persen, mungkin tidak mungkin untuk menentukan pengodean yang benar hanya dengan menguraikan nilai yang dikodekan persen.

Oleh karena itu http.sys, menyediakan dua kunci registri untuk memodifikasi proses:

Kunci Registri Nilai Default Deskripsi
EnableNonUTF8 1 Jika nol, http.sys hanya menerima URL yang dikodekan UTF-8.

Jika bukan nol, http.sys juga menerima URL yang dikodekan ANSI atau DBCS dalam permintaan.
FavorUTF8 1 Jika bukan nol, http.sys selalu mencoba mendekode URL sebagai UTF-8 terlebih dahulu; jika konversi tersebut gagal dan EnableNonUTF8 bukan nol, Http.sys kemudian mencoba mendekodekannya sebagai ANSI atau DBCS.

Jika nol (dan EnableNonUTF8 bukan nol), http.sys mencoba mendekodenya sebagai ANSI atau DBCS; jika itu tidak berhasil, ini akan mencoba konversi UTF-8.

Saat HttpListener menerima permintaan, ini menggunakan URI yang dikonversi dari http.sys sebagai input ke properti Url.

Ada kebutuhan untuk mendukung karakter selain karakter dan angka di URI. Contohnya adalah URI berikut, yang digunakan untuk mengambil informasi pelanggan untuk nomor pelanggan "1/3812":

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

Perhatikan garis miring yang dikodekan persen dalam Uri (%2F). Ini perlu, karena dalam kasus ini karakter garis miring mewakili data dan bukan pemisah jalur.

Meneruskan string ke konstruktor Uri akan mengarah ke URI berikut:

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

Memisahkan jalur menjadi segmen-segmennya akan menghasilkan elemen-elemen berikut:

Customer('1

3812')

Ini bukanlah niat dari pengirim permintaan.

UnescapeRequestUrl Jika properti diatur ke false, maka ketika HttpListener menerima permintaan, properti menggunakan URI mentah alih-alih URI yang dikonversi dari http.sys sebagai input ke Url properti .

Konstruktor

HttpListenerElement()

Menginisialisasi instans baru kelas HttpListenerElement.

Properti

CurrentConfiguration

Mendapatkan referensi ke instans tingkat Configuration atas yang mewakili hierarki konfigurasi tempat instans saat ini ConfigurationElement berada.

(Diperoleh dari ConfigurationElement)
ElementInformation

ElementInformation Mendapatkan objek yang berisi informasi dan fungsionalitas ConfigurationElement objek yang tidak dapat disesuaikan.

(Diperoleh dari ConfigurationElement)
ElementProperty

ConfigurationElementProperty Mendapatkan objek yang mewakili objek itu ConfigurationElement sendiri.

(Diperoleh dari ConfigurationElement)
EvaluationContext

ContextInformation Mendapatkan objek untuk ConfigurationElement objek .

(Diperoleh dari ConfigurationElement)
HasContext

Mendapatkan nilai yang menunjukkan apakah CurrentConfiguration properti adalah null.

(Diperoleh dari ConfigurationElement)
Item[ConfigurationProperty]

Mendapatkan atau mengatur properti atau atribut elemen konfigurasi ini.

(Diperoleh dari ConfigurationElement)
Item[String]

Mendapatkan atau mengatur properti, atribut, atau elemen anak dari elemen konfigurasi ini.

(Diperoleh dari ConfigurationElement)
LockAllAttributesExcept

Mendapatkan koleksi atribut terkunci.

(Diperoleh dari ConfigurationElement)
LockAllElementsExcept

Mendapatkan koleksi elemen terkunci.

(Diperoleh dari ConfigurationElement)
LockAttributes

Mendapatkan koleksi atribut terkunci.

(Diperoleh dari ConfigurationElement)
LockElements

Mendapatkan koleksi elemen terkunci.

(Diperoleh dari ConfigurationElement)
LockItem

Mendapatkan atau menetapkan nilai yang menunjukkan apakah elemen dikunci.

(Diperoleh dari ConfigurationElement)
Properties

Mendapatkan koleksi properti.

(Diperoleh dari ConfigurationElement)
Timeouts

Mendapatkan elemen batas waktu default yang digunakan untuk objek HttpListener .

UnescapeRequestUrl

Mendapatkan nilai yang menunjukkan apakah HttpListener menggunakan URI mentah yang tidak dilepas, bukan URI yang dikonversi.

Metode

DeserializeElement(XmlReader, Boolean)

Membaca XML dari file konfigurasi.

(Diperoleh dari ConfigurationElement)
Equals(Object)

Membandingkan instans saat ini ConfigurationElement dengan objek yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetHashCode()

Mendapatkan nilai unik yang mewakili instans saat ini ConfigurationElement .

(Diperoleh dari ConfigurationElement)
GetTransformedAssemblyString(String)

Mengembalikan versi yang diubah dari nama rakitan yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetTransformedTypeString(String)

Mengembalikan versi yang ditransformasi dari nama jenis yang ditentukan.

(Diperoleh dari ConfigurationElement)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
Init()

Menyetel objek ke ConfigurationElement status awalnya.

(Diperoleh dari ConfigurationElement)
InitializeDefault()

Digunakan untuk menginisialisasi sekumpulan nilai default untuk ConfigurationElement objek.

(Diperoleh dari ConfigurationElement)
IsModified()

Menunjukkan apakah elemen konfigurasi ini telah dimodifikasi sejak terakhir disimpan atau dimuat, saat diimplementasikan di kelas turunan.

(Diperoleh dari ConfigurationElement)
IsReadOnly()

Mendapatkan nilai yang menunjukkan apakah ConfigurationElement objek bersifat baca-saja.

(Diperoleh dari ConfigurationElement)
ListErrors(IList)

Menambahkan kesalahan properti yang tidak valid dalam objek ini ConfigurationElement , dan di semua sublemen, ke daftar yang diteruskan.

(Diperoleh dari ConfigurationElement)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnDeserializeUnrecognizedAttribute(String, String)

Mendapatkan nilai yang menunjukkan apakah atribut yang tidak diketahui ditemui selama deserialisasi.

(Diperoleh dari ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Mendapatkan nilai yang menunjukkan apakah elemen yang tidak diketahui ditemui selama deserialisasi.

(Diperoleh dari ConfigurationElement)
OnRequiredPropertyNotFound(String)

Melemparkan pengecualian ketika properti yang diperlukan tidak ditemukan.

(Diperoleh dari ConfigurationElement)
PostDeserialize()

Dipanggil setelah deserialisasi.

(Diperoleh dari ConfigurationElement)
PreSerialize(XmlWriter)

Dipanggil sebelum serialisasi.

(Diperoleh dari ConfigurationElement)
Reset(ConfigurationElement)

Mengatur ulang status ConfigurationElement internal objek, termasuk kunci dan koleksi properti.

(Diperoleh dari ConfigurationElement)
ResetModified()

Mengatur ulang nilai metode ke IsModified()false saat diimplementasikan di kelas turunan.

(Diperoleh dari ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

Menulis konten elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan.

(Diperoleh dari ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

Menulis tag luar elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan.

(Diperoleh dari ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Mengatur properti ke nilai yang ditentukan.

(Diperoleh dari ConfigurationElement)
SetReadOnly()

IsReadOnly() Mengatur properti untuk ConfigurationElement objek dan semua sublemen.

(Diperoleh dari ConfigurationElement)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Memodifikasi ConfigurationElement objek untuk menghapus semua nilai yang seharusnya tidak disimpan.

(Diperoleh dari ConfigurationElement)

Berlaku untuk

Lihat juga