【发布时间】:2023-03-14 08:27:02
【问题描述】:
我有一个控制器和一个动作。
public class LoginController
{
[OutputCache(Duration = 10000, VaryByParam = "none")]
public ActionResult Logout()
{
......
}
}
以上代码运行正常,输出缓存没有问题。一切正常。
但是当我将下面的代码添加到 Application_BeginRequest 时,出现了问题。我添加了页面的图片。
string encodings = app.Request.Headers.Get("Accept-Encoding");
if (encodings != null)
{
// Check the browser accepts deflate or gzip (deflate takes preference)
encodings = encodings.ToLower();
if (encodings.Contains("gzip"))
{
app.Response.Filter = new GZipStream(app.Response.Filter, CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
else if (encodings.Contains("deflate"))
{
app.Response.Filter = new DeflateStream(app.Response.Filter, CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
}
【问题讨论】:
-
代替
app.Response.AppendHeader("Content-Encoding", "deflate");试试app.Response.Headers.Add("Content-Encoding", "deflate");
标签: asp.net gzip outputcache deflate content-encoding