Чтобы включить динамическое сжатие, используйте Установщик веб-платформы Microsoft , чтобы убедиться, что установлено « IIS: сжатие динамического содержимого ». Затем откройте диспетчер IIS и щелкните на сервере (или на сайте, если вы хотите включить его только для отдельного сайта, он будет сохранен в файле web.config в корневом каталоге сайта, поэтому будьте осторожны, чтобы не перезаписать), и перейдите в раздел Сжатие и убедитесь, что « Включить динамическое сжатие содержимого » отмечен. Это для IIS7, дайте мне знать, если вы хотите это для IIS6.
Для etags на aspx страницах добавьте в Page_PreInit (или Page_Init, если главная страница):
if (Request.Headers["If-None-Match"] == "somekey")
{
Response.StatusCode = (int)System.Net.HttpStatusCode.NotModified;
Response.End();
}
А для Page_Load:
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetETag("somekey");
Где somekey может быть датой последнего изменения, сохраненной в базе данных для страницы, если это какая-то система управления контентом.