Udostępnij za pośrednictwem


HttpEncoder Klasa

Definicja

Zapewnia logikę kodowania i dekodowania.

public ref class HttpEncoder
public class HttpEncoder
type HttpEncoder = class
Public Class HttpEncoder
Dziedziczenie
HttpEncoder
Pochodne

Uwagi

Klasa zawiera logikę kodowania i dekodowania, która jest używana przez metody w klasach, takich jak HttpUtility, HttpServerUtilityi HttpResponseHeader.

Można dziedziczyć z HttpEncoder klasy i zastąpić jego zachowanie, aby dostosować domyślne zachowanie kodowania i dekodowania ASP.NET. Następnie należy ustawić EncoderType właściwość HttpRuntimeSection klasy, aby skonfigurować klasę niestandardową.

Niestandardowa klasa kodowania i dekodowania, która pochodzi z HttpEncoder klasy , może zastąpić wbudowane ASP.NET kodowanie i dekodowanie zachowania lub zmienić tylko wybrane aspekty.

W ASP.NET można skonfigurować niestandardowy typ kodowania, aby zastąpić lub uzupełnić następujące zachowanie kodowania:

  • Kodowanie HTML

  • Kodowanie atrybutów HTML

  • Kodowanie adresów URL

  • Kodowanie ścieżki adresu URL

  • Kodowanie nazwy nagłówka HTTP i wartości nagłówka

Domyślnie aplikacje ASP.NET są skonfigurowane do używania AntiXssEncoder typu dla wszystkich kodowań wyjściowych.

Poniższy przykład z pliku Web.config na poziomie aplikacji pokazuje, jak AntiXssEncoder typ jest ustawiony dla aplikacji ASP.NET:

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

Ustawienie konfiguracji w przykładzie ustawia klasę AntiXssEncoder tak, aby wykonywała wszystkie kodowanie wyjściowe w aplikacji. Aby uzyskać więcej informacji, zobacz AntiXssEncoder omówienie klasy.

Notatki dotyczące dziedziczenia

Podczas tworzenia niestandardowej klasy kodera i przesłaniania metod bazowych klasy bazowej koder pochodny może zgłosić wyjątek od dowolnej z zastąpionych metod. Jednak w następujących przypadkach zgłaszanie takiego wyjątku może prowadzić do nieoczekiwanego zachowania w ASP.NET:

  • Jeśli ASP.NET renderuje stronę błędu spowodowaną nieobsługiwanym wyjątkiem zgłoszonym z kodera niestandardowego, ASP.NET nie próbuje kodować danych wyjściowych błędu przez wywołanie kodera niestandardowego. Pozwala to uniknąć cyklicznych warunków błędu.

  • Gdy ASP.NET wysyła nagłówki HTTP do usług IIS, ASP.NET nie ma aprowizacji dla nieobsługiwane wyjątki. W związku z tym zostanie renderowana standardowa strona błędu ASP.NET (jeśli ustawienia konfiguracji umożliwiają wyświetlenie tej strony).

Konstruktory

Nazwa Opis
HttpEncoder()

Inicjuje nowe wystąpienie klasy HttpEncoder.

Właściwości

Nazwa Opis
Current

Pobiera lub ustawia HttpEncoder typ, który będzie używany w aplikacji.

Default

Pobiera odwołanie do domyślnego kodera dla ASP.NET.

Metody

Nazwa Opis
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
HeaderNameValueEncode(String, String, String, String)

Koduje nazwę i wartość nagłówka do ciągu, który może być używany jako nagłówek HTTP.

HtmlAttributeEncode(String, TextWriter)

Koduje wartość przychodzącą do ciągu, który można wstawić do atrybutu HTML rozdzielanego za pomocą pojedynczych lub podwójnych cudzysłowów.

HtmlDecode(String, TextWriter)

Dekoduje wartość z ciągu zakodowanego w formacie HTML.

HtmlEncode(String, TextWriter)

Koduje ciąg do ciągu zakodowanego w kodzie HTML.

JavaScriptStringEncode(String)

Koduje ciąg.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UrlEncode(Byte[], Int32, Int32)

Koduje tablicę znaków, które nie są dozwolone w adresie URL, do odpowiednika szesnastkowej jednostki znakowej.

UrlPathEncode(String)

Koduje podsekcję adresu URL.

Dotyczy

Zobacz też