C# I';我试图使用GZipStream在页面上强制进行gzip压缩,但浏览器显示I';我使用不受支持的压缩
我正在尝试实现Steve Souders讨论的关于强制gzip压缩的内容 我有一个模块运行这个:C# I';我试图使用GZipStream在页面上强制进行gzip压缩,但浏览器显示I';我使用不受支持的压缩,c#,asp.net,gzip,gzipstream,C#,Asp.net,Gzip,Gzipstream,我正在尝试实现Steve Souders讨论的关于强制gzip压缩的内容 我有一个模块运行这个: void context_PreSendRequestHeaders(object sender, EventArgs e) { var app = sender as HttpApplication; var request = app.Request; var response = app.Response; if (CompressionUtils.Gzip
void context_PreSendRequestHeaders(object sender, EventArgs e)
{
var app = sender as HttpApplication;
var request = app.Request;
var response = app.Response;
if (CompressionUtils.GzipSupported(request) || CompressionUtils.GzipNotSupportedExplicitly(request))
{
return;
}
if (CompressionUtils.GzipSupportedExplicitly(request))
{
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
response.AddHeader(HttpHeaderKey.ContentEncoding, "gzip");
return;
}
response.Write("<iframe style=\"display:none;\" src=\"/CompressedPage.aspx\"></iframe>");
}
void context\u呈现请求头(对象发送方,事件参数e)
{
var app=发送方作为HttpApplication;
var request=app.request;
var响应=应用程序响应;
if(compressutils.gzip支持(请求)| | compressutils.gzip不支持明确(请求))
{
返回;
}
if(CompressionUtils.gzipsupportedexplicity(请求))
{
response.Filter=newgzipstream(response.Filter,CompressionMode.Compress);
AddHeader(HttpHeaderKey.ContentEncoding,“gzip”);
返回;
}
回答。写(“”);
}
compressionils.gzip支持
只需在
CompressionUtils.gzip正确地支持
和CompressionUtils.gzip不明确地支持
检查cookie,说明浏览器是否真的可以读取gzip
但当我在Firefox中加载页面时,会出现以下错误:
内容编码错误
无法显示您试图查看的页面,因为它使用了无效或无效的
不受支持的压缩形式
在Fiddler中,它显示内容编码头已经添加,但内容没有被压缩,所以结果我绑定得太晚了,绑定到
PostMapRequestHandler
而不是PreSendRequestHeaders
。现在工作很好