HttpEncoder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供编码和解码逻辑。
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 的子部分进行编码。 |