次の方法で共有


HttpEncoder クラス

定義

エンコードおよびデコード ロジックを提供します。

public ref class HttpEncoder
public class HttpEncoder
type HttpEncoder = class
Public Class HttpEncoder
継承
HttpEncoder
派生

注釈

このクラスには、 HttpUtilityHttpServerUtilityHttpResponseHeaderなどのクラスのメソッドによって使用されるエンコードおよびデコード ロジックが含まれています。

HttpEncoder クラスから継承し、その動作をオーバーライドして、ASP.NET の既定のエンコードとデコードの動作をカスタマイズできます。 次に、HttpRuntimeSection クラスの EncoderType プロパティを設定して、カスタム クラスを構成します。

HttpEncoderから派生したエンコードとデコード用のカスタム クラスは、組み込みの ASP.NET のエンコードとデコードの動作をオーバーライドしたり、その中で選択した側面のみを変更したりできます。

次のエンコード動作を置き換えたり補完したりするために、ASP.NET でカスタム エンコードの種類を構成できます。

  • HTML エンコード

  • HTML 属性のエンコード

  • URL エンコード

  • URL パスのエンコード

  • HTTP ヘッダー名とヘッダー値のエンコード

既定では、ASP.NET アプリケーションは、すべての出力エンコードに AntiXssEncoder の種類を使用するように構成されます。

アプリケーション レベルの Web.config ファイルの次の例は、ASP.NET アプリケーションの AntiXssEncoder の種類がどのように設定されているかを示しています。

<httpRuntime requestValidationMode="4.5" encoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

この例の構成設定では、アプリケーション内のすべての出力エンコードを実行するように AntiXssEncoder クラスを設定します。 詳細については、 AntiXssEncoder クラスの概要を参照してください。

注意 (継承者)

カスタム エンコーダー クラスを作成し、基底クラスの基本メソッドをオーバーライドすると、派生エンコーダーはオーバーライドされたメソッドのいずれかから例外をスローする可能性があります。 ただし、次の場合、このような例外をスローすると、ASP.NET で予期しない動作が発生する可能性があります。

  • ASP.NET が、カスタム エンコーダーからスローされた未処理の例外によって発生するエラー ページをレンダリングしている場合、ASP.NET はカスタム エンコーダーを呼び出してエラー出力をエンコードしようとしません。 これにより、再帰的なエラー状態が回避されます。

  • ASP.NET が IIS に HTTP ヘッダーを送信する場合、ASP.NET にはハンドルされない例外のプロビジョニングはありません。 そのため、標準の ASP.NET エラー ページが表示されます (構成設定でこのページを表示できる場合)。

コンストラクター

名前 説明
HttpEncoder()

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

プロパティ

名前 説明
Current

アプリケーションで使用される HttpEncoder 型を取得または設定します。

Default

ASP.NET の既定のエンコーダーへの参照を取得します。

メソッド

名前 説明
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

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

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

ヘッダー名と値を、HTTP ヘッダーとして使用できる文字列にエンコードします。

HtmlAttributeEncode(String, TextWriter)

単一引用符または二重引用符を使用して区切られた HTML 属性に挿入できる文字列に、受信値をエンコードします。

HtmlDecode(String, TextWriter)

HTML エンコード文字列から値をデコードします。

HtmlEncode(String, TextWriter)

文字列を HTML エンコード文字列にエンコードします。

JavaScriptStringEncode(String)

文字列をエンコードします。

MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)
UrlEncode(Byte[], Int32, Int32)

URL で許可されていない文字の配列を、同等の 16 進数の文字エンティティにエンコードします。

UrlPathEncode(String)

URL のサブセクションをエンコードします。

適用対象

こちらもご覧ください