HttpEncoder Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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żesz 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 metody , może zastąpić wbudowane ASP.NET zachowania kodowania i dekodowania 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.
Uwagi dotyczące dziedziczenia
Podczas tworzenia klasy kodera niestandardowego i zastępowania metod bazowych klasy bazowej koder pochodny może zgłosić wyjątek od dowolnej z przesłoniętych 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ługiwanych wyjątków. W związku z tym zostanie wyrenderowana standardowa strona błędu ASP.NET (jeśli ustawienia konfiguracji zezwalają na wyświetlanie tej strony).
Konstruktory
HttpEncoder() |
Inicjuje nowe wystąpienie klasy HttpEncoder. |
Właściwości
Current |
Pobiera lub ustawia HttpEncoder typ, który będzie używany w aplikacji. |
Default |
Pobiera odwołanie do kodera domyślnego dla ASP.NET. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
HeaderNameValueEncode(String, String, String, String) |
Koduje nazwę nagłówka i wartość w 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 języku HTML. |
JavaScriptStringEncode(String) |
Koduje ciąg. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (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 znaków. |
UrlPathEncode(String) |
Koduje podsekcję adresu URL. |