Ich mache einige pingelige seo und ich bin besorgt über Firebug zeigt, dass meine gebündelte und Minifed CSS-Dateien nicht komprimiert sind, verwende ich Action-Filter, um Gzip-Header anhängen, aber ich weiß es nicht Warum funktioniert es nicht für verkleinerte/gebündelte CSS- und JS-Dateien?Firebug Seite Geschwindigkeit Warnung: Aktivieren Sie die Komprimierung
Hier Filter:
public class CompressFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase request = filterContext.HttpContext.Request;
string acceptEncoding = request.Headers["Accept-Encoding"];
if (string.IsNullOrEmpty(acceptEncoding)) return;
acceptEncoding = acceptEncoding.ToUpperInvariant();
HttpResponseBase response = filterContext.HttpContext.Response;
if (acceptEncoding.Contains("GZIP"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
}
else if (acceptEncoding.Contains("DEFLATE"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
}
response.AppendHeader("Connection", "keep-alive");
}
}
ich es in Application_Start registrieren() so habe ich es nicht auf jedem Controller zu tun:
GlobalFilters.Filters.Add(new CompressFilter());
RegisterGlobalFilters(GlobalFilters.Filters);
Und ich dies auch in config:
Header sind korrekt für Ansichten, aber nichts für CSS und JS .. Wie kann ich das beheben?
Nun, ich habe versucht Ihren Code, aber leider scheint es nicht zu funktionieren, vielleicht liegt es daran, dass Skript und CSS wird von mvc4 minimiert/gebündelt. – formatc
Sorry, ich habe das MVC 4-Tag übersehen, vielleicht habe ich MVC 4 nicht benutzt –