HttpEncoder 类

定义

提供编码和解码逻辑。

public ref class HttpEncoder
public class HttpEncoder
type HttpEncoder = class
Public Class HttpEncoder
继承
HttpEncoder
派生

注解

类包含 、、 和 等HttpUtilityHttpServerUtility类中的方法使用的编码和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 的子节进行编码。

适用于

另请参阅