0

我有一个响应过滤器,我使用以下代码从字节数组中获取 HTML 字符串。

public override void Write(byte[] buffer, int offset, int count) {
    var html = Encoding.UTF8.GetString(buffer);
    // do stuff
}

如果我像下面的代码在 web.config 中将 doDynamicCompression 设置为 true,则字符串如下所示

  <system.webServer>
    <urlCompression doDynamicCompression="true" />

有没有一种安全的方法来获取可以压缩和不压缩的 HTML 字符串?

4

1 回答 1

1

您可以使用它GZipStream来解压缩内容,但是由于您随后在响应过滤器中处理结果,因此您不再有压缩(但您有标题说您这样做),因此您必须进行压缩它的工作再次。

这意味着您失去了自动为您完成它的所有优势。

出于这个原因,我建议您编写自己的过滤器来自己处理压缩(我发现的一个问题是您不想在刷新过滤器时刷新使用的 gzipstream,尽管您仍然应该刷新输出流)。

(如果一大段文本以块的形式发送并且块以字符的方式结束,那么您的代码将如何处理它?)

于 2012-08-18T20:27:51.940 回答