次の方法で共有


HttpListenerElement クラス

定義

構成ファイルの HttpListener 要素を表します。 このクラスは継承できません。

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
継承
HttpListenerElement

注釈

このクラスは、httpListener> 要素 (ネットワーク設定) 構成要素に<対応します。 このクラスは、構成ファイルに格納できる情報へのプログラムによるアクセスを提供します。

プロパティは UnescapeRequestUrl 、パーセントでエンコードされた値が変換され、その他の正規化手順が実行される変換された URI ではなく、未加工のエスケープされていない URI を使用するかどうかを HttpListener 示します。

HttpListener インスタンスでは、http.sys サービスを介して要求を受け取ると、http.sys によって提供される URI 文字列のインスタンスを作成し、HttpListenerRequest.Url プロパティとして公開します。

http.sys サービスでは、次の 2 つの要求 URI 文字列を公開します。

  • 生の URI

  • 変換された URI

生の URI は、HTTP 要求の要求ラインで指定される System.Uri です。

GET /path/

Host: www.contoso.com

前述の要求に対して http.sys によって提供される生の URI は、"/path/" です。 これは、ネットワーク経由で送信されたため、HTTP 動詞に続く文字列を表します。

http.sys サービスでは、HTTP 要求ラインに指定された URI とホスト ヘッダーを使用して、要求で提供される情報から変換された URI を作成し、要求の転送先となる配信元サーバーを決定します。 これは、要求の情報を一連の登録済み URI プレフィックスと比較することによって行われます。 HTTP Server SDK のドキュメントでは、この変換された URI を HTTP_COOKED_URL 構造として参照しています。

要求を登録済み URI プレフィックスと比較できるようにするには、要求の正規化を行う必要があります。 上の例の場合、変換された URI は次のようになります。

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

http.sys サービスでは、Uri.Host プロパティ値と要求ラインの文字列を結合して、変換された URI を作成します。 さらに、 http.sys クラスも System.Uri 次の操作を行います。

  • パーセント エンコードされたすべての値をエスケープ解除します。

  • パーセント エンコードされた非 ASCII 文字を UTF-16 文字表現に変換します。 UTF-8 文字と ANSI/DBCS 文字は、Unicode 文字 (%uXXXX 形式を使用した Unicode エンコード) 同様にサポートされていることに注意してください。

  • パスの圧縮など、その他の正規化手順を実行します。

パーセント エンコードされた値に使用されるエンコードに関する情報が要求に含まれていないため、パーセント エンコードされた値を解析するだけでは、正しいエンコードを判断できない場合があります。

このため、http.sys では、プロセスを変更するために次の 2 つのレジストリ キーを使用します。

レジストリ キー 既定値 説明
EnableNonUTF8 1 0 の場合、http.sys は UTF-8 でエンコードされた URL のみを受け入れます。

0 以外の場合、http.sys は要求の中で ANSI または DBCS でエンコードされた URL も受け入れます。
FavorUTF8 1 0 以外の場合、http.sys では常に URL を UTF-8 としてデコードしようとします。変換に失敗し、EnableNonUTF8 が 0 以外の場合は、ANSI または DBCS としてデコードしようとします。

0 (および EnableNonUTF8 が 0 以外) の場合、http.sys では ANSI または DBCS としてデコードしようとします。成功しなかった場合は、UTF-8 変換を試行します。

HttpListener では、要求を受信すると、http.sys から変換された URI を Url プロパティへの入力として使用します。

URI の文字と数字以外の文字をサポートする必要があります。 例として、次の URI があります。これは、顧客番号 "1/3812" の顧客情報を取得するために使用されます。

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

URI のパーセント エンコードされたスラッシュ (%2F) に注意してください。 この場合、スラッシュ文字はパス区切り記号ではなくデータを表すため、これは必要です。

文字列を URI コンストラクターに渡すと、次の URI になります。

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

パスをセグメントに分割すると、次の要素が生成されます。

Customer('1

3812')

これは、要求の送信者の意図ではありません。

プロパティが UnescapeRequestUrl false に設定されている場合、 は要求を HttpListener 受け取るときに、変換された URI の代わりに生 URI を http.sys プロパティへの Url 入力として使用します。

コンストラクター

HttpListenerElement()

HttpListenerElement クラスの新しいインスタンスを初期化します。

プロパティ

CurrentConfiguration

現在の Configuration インスタンスが属している構成階層を表す最上位の ConfigurationElement インスタンスへの参照を取得します。

(継承元 ConfigurationElement)
ElementInformation

ElementInformation オブジェクトのカスタマイズできない情報と機能を格納する ConfigurationElement オブジェクトを取得します。

(継承元 ConfigurationElement)
ElementProperty

ConfigurationElementProperty オブジェクト自体を表す ConfigurationElement オブジェクトを取得します。

(継承元 ConfigurationElement)
EvaluationContext

ContextInformation オブジェクトの ConfigurationElement オブジェクトを取得します。

(継承元 ConfigurationElement)
HasContext

CurrentConfiguration プロパティが null であるかどうかを示す値を取得します。

(継承元 ConfigurationElement)
Item[ConfigurationProperty]

この構成要素のプロパティまたは属性を取得または設定します。

(継承元 ConfigurationElement)
Item[String]

この構成要素のプロパティ、属性、または子要素を取得または設定します。

(継承元 ConfigurationElement)
LockAllAttributesExcept

ロックされている属性のコレクションを取得します。

(継承元 ConfigurationElement)
LockAllElementsExcept

ロックされている要素のコレクションを取得します。

(継承元 ConfigurationElement)
LockAttributes

ロックされている属性のコレクションを取得します。

(継承元 ConfigurationElement)
LockElements

ロックされている要素のコレクションを取得します。

(継承元 ConfigurationElement)
LockItem

要素がロックされているかどうかを示す値を取得または設定します。

(継承元 ConfigurationElement)
Properties

プロパティのコレクションを取得します。

(継承元 ConfigurationElement)
Timeouts

HttpListener オブジェクトで使用する既定のタイムアウト要素を取得します。

UnescapeRequestUrl

HttpListener が変換された URI ではなくエスケープされていない生の URI を使用するかどうかを示す値を取得します。

メソッド

DeserializeElement(XmlReader, Boolean)

構成ファイルから XML を読み取ります。

(継承元 ConfigurationElement)
Equals(Object)

現在の ConfigurationElement インスタンスを、指定したオブジェクトと比較します。

(継承元 ConfigurationElement)
GetHashCode()

現在の ConfigurationElement インスタンスを表す一意の値を取得します。

(継承元 ConfigurationElement)
GetTransformedAssemblyString(String)

指定されたアセンブリ名を変換して返します。

(継承元 ConfigurationElement)
GetTransformedTypeString(String)

指定された型名を変換して返します。

(継承元 ConfigurationElement)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Init()

ConfigurationElement オブジェクトを初期状態に設定します。

(継承元 ConfigurationElement)
InitializeDefault()

ConfigurationElement オブジェクトの既定の値セットを初期化するために使用します。

(継承元 ConfigurationElement)
IsModified()

派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。

(継承元 ConfigurationElement)
IsReadOnly()

ConfigurationElement オブジェクトが読み取り専用かどうかを示す値を取得します。

(継承元 ConfigurationElement)
ListErrors(IList)

この ConfigurationElement オブジェクトおよびすべてのサブ要素の無効なプロパティのエラーを、渡されたリストに追加します。

(継承元 ConfigurationElement)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnDeserializeUnrecognizedAttribute(String, String)

逆シリカル化中に不明な属性が発生したかどうかを示す値を取得します。

(継承元 ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

逆シリカル化中に不明な要素が発生したかどうかを示す値を取得します。

(継承元 ConfigurationElement)
OnRequiredPropertyNotFound(String)

必要なプロパティが見つからないと例外がスローされます。

(継承元 ConfigurationElement)
PostDeserialize()

逆シリアル化後に呼び出されます。

(継承元 ConfigurationElement)
PreSerialize(XmlWriter)

シリアル化前に呼び出されます。

(継承元 ConfigurationElement)
Reset(ConfigurationElement)

ConfigurationElement オブジェクトの内部状態 (ロックやプロパティ コレクションなど) をリセットします。

(継承元 ConfigurationElement)
ResetModified()

IsModified() メソッドの値が派生クラスに実装されたときに、false にリセットします。

(継承元 ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

派生クラスに実装されている場合、この構成要素の内容を構成ファイルに書き込みます。

(継承元 ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

派生クラスに実装されている場合、この構成要素の外側のタグを構成ファイルに書き込みます。

(継承元 ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

プロパティを指定した値に設定します。

(継承元 ConfigurationElement)
SetReadOnly()

IsReadOnly() オブジェクトおよびすべてのサブ要素に ConfigurationElement プロパティを設定します。

(継承元 ConfigurationElement)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

保存しないすべての値を削除するには、ConfigurationElement オブジェクトを変更します。

(継承元 ConfigurationElement)

適用対象

こちらもご覧ください