Firefox에서 Google Page Speed를 사용하여 내 사이트 시드를 최적화하고 있습니다. Visual Studio 개발자 서버를 사용하여 실행중인 ASP.NET MVC 사이트입니다./Content 폴더 (이미지, 스크립트, 스타일)에 정적 컨텐츠가 있습니다. Google 페이지 속도는 정적 콘텐츠에 만료가 지정되지 않은 캐싱 b/c를 구현할 것을 제안합니다. 그 문제에 대한ASP.NET MVC의 정적 컨텐트 캐싱 및 압축
<system.webServer>
<staticContent>
<clientCache cacheControlMaxAge="7.00:00:00" cacheControlMode="UseMaxAge"/>
</staticContent>
</system.webServer>
, 나 또한 이러한 파일의 압축을 사용하려면 : 나는이의 web.config에 다음하지만 도움이 보이지 않는다 포함되어 있습니다. 둘 다하는 법을 알고 싶습니다. 감사.
public class CompressAttribute : ActionFilterAttribute
{
/// <summary>
/// Enables compression on page response
/// </summary>
/// <param name="filterContext">Filter context</param>
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("DEFLATE"))
{
response.AppendHeader("Content-encoding", "deflate");
response.Filter = new WebCompressionStream(response.Filter, CompressionType.Deflate);
}
else if (acceptEncoding.Contains("GZIP"))
{
response.AppendHeader("Content-encoding", "gzip");
response.Filter = new WebCompressionStream(response.Filter, CompressionType.GZip);
}
}
}
WebCompressionStream 클래스는 다음과 같습니다 : 당신이 그것을 압축을 사용하려는 경우에만 [Compress]
와 컨트롤러 방법을 장식 할 수 있도록
압축 : http://stackoverflow.com/questions/6992524/how-do-i-enable-gzip-compression-when-using-mvc3-on-iis7 – Rory