GET
私の応答のいくつかは、ページと返信の両方で、短期間POST
実装されます。[OutputCache]
また、次の関数を使用してサイト全体の圧縮を有効にしました。
protected void Application_BeginRequest(object sender, EventArgs e)
{
// Implement HTTP compression
var app = (HttpApplication) sender;
// Retrieve accepted encodings
var encodings = app.Request.Headers.Get("Accept-Encoding");
if (encodings == null)
return;
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.Headers["Content-Encoding"]
既存の圧縮を調べようと考えましたが、PlatformNotSupported
例外が発生します。キャッシュされた応答を削除せずに圧縮を有効にするにはどうすればよいですか?