Enable GZIP Compression in ASP.NET Pages
GZIP Compression in ASP.NET Pages

public static bool IsGZipSupported(HttpContext Context)
{
string AcceptEncoding = Context.Request.Headers[“Accept-Encoding”];
if (string.IsNullOrEmpty(AcceptEncoding) == false && (AcceptEncoding.Contains(“gzip”) || AcceptEncoding.Contains(“deflate”)))
{
return true;
}
else
{
return false;
}
}
public static void GZipEncodePage(HttpContext Context)
{
if (ConfigurationUtil.IsGzippingHttpResponsesEnabled())
{
HttpResponse Response = Context.Response;
if (IsGZipSupported(Context))
{
string AcceptEncoding = Context.Request.Headers[“Accept-Encoding”];
if (AcceptEncoding.Contains(“deflate”))
{
Response.Filter = new System.IO.Compression.DeflateStream(Response.Filter,
System.IO.Compression.CompressionMode.Compress);
Response.AppendHeader(“Content-Encoding”, “deflate”);
}
else
{
Response.Filter = new System.IO.Compression.GZipStream(Response.Filter,
System.IO.Compression.CompressionMode.Compress);
Response.AppendHeader(“Content-Encoding”, “gzip”);
}
}
// Allow proxy servers to cache encoded and unencoded versions separately
Response.AppendHeader(“Vary”, “Content-Encoding”);
}
}