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-адреса. |