HttpEncoder Klasa
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Zapewnia logikę kodowania i dekodowania.
public ref class HttpEncoder
public class HttpEncoder
type HttpEncoder = class
Public Class HttpEncoder
- Dziedziczenie
-
HttpEncoder
- Pochodny
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.
Notatki dla spadkobierców
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).
Konstruktorów
| 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 kodera domyślnego dla ASP.NET. |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Dziedziczone od Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Dziedziczone od Object) |
| GetType() |
Type Pobiera bieżące wystąpienie. (Dziedziczone od 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 . (Dziedziczone od Object) |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Dziedziczone od 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. |