Вот мой путь:
Используйте MVC.
Обрабатывать содержимое js | css с помощью действий контроллера MVC.
Объедините несколько файлов в один.
Сократите и запутайте скрипт | css на лету, прежде чем он будет сохранен в кеше.
Кеш результатов.
Используйте CacheDependency.
Включите gzip для динамического контента.
Включить gzip перед функцией кэширования.
Все можно сделать, просто добавив пользовательские атрибуты в методы действий, используя ASP.NET MVC Js / Css Composer / Compressor .
Пример:
public class JsController : Controller
{
[Utility.Processors.JsCompress]
[OutputCache(Duration = 3600)]
public ActionResult Jquery()
{
return View();
}
}
Вы можете наследовать от CustomTextPostProcessingAttribute и делать свою собственную постобработку для любого типа текстового содержимого, которое вам нужно.