Поделиться через


HttpEncoder Класс

Определение

Предоставляет логику кодирования и декодирования.

public ref class HttpEncoder
public class HttpEncoder
type HttpEncoder = class
Public Class HttpEncoder
Наследование
HttpEncoder
Производный

Комментарии

Класс содержит логику кодирования и декодирования, которая используется методами в таких классах, как HttpUtility, HttpServerUtilityи HttpResponseHeader.

Вы можете наследовать от HttpEncoder класса и переопределить его поведение, чтобы настроить кодировку и декодирование по умолчанию ASP.NET. Затем вы задаете EncoderType свойство HttpRuntimeSection класса, чтобы настроить пользовательский класс.

Пользовательский класс для кодирования и декодирования, производный от HttpEncoder него, может переопределить встроенные ASP.NET кодировку и декодирование или изменить только выбранные аспекты.

Настраиваемый тип кодирования можно настроить в ASP.NET, чтобы заменить или дополнить следующее поведение кодирования:

  • Кодировка HTML

  • Кодировка атрибутов HTML

  • Кодировка URL-адресов

  • Кодировка пути URL-адреса

  • Кодировка имени заголовка HTTP и заголовка

По умолчанию ASP.NET приложения настроены для использования AntiXssEncoder типа для всех выходных кодировок.

В следующем примере из файла Web.config уровня приложения показано, как AntiXssEncoder тип задан для приложения ASP.NET:

<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 отправляет заголовки HTTP в СЛУЖБЫ IIS, 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-адресе в шестнадцатеричном эквиваленте сущности символов.

UrlPathEncode(String)

Кодирует подраздел URL-адреса.

Применяется к

См. также раздел