Используйте параметры кэширования с использованием атрибутов (для MVC) и не думайте о сжатии, поскольку IIS / IISExpress автоматически сжимает ваш вывод, если вы его включаете.
как это работает, mvc не позволяет кэшировать отдельные фрагменты или части вывода (частичное кэширование содержимого). если вы хотите этого, рассмотрите возможность использования службы, такой как CloudFlare (есть ли какая-либо другая, например, CF?). он автоматически кэширует ваши выходные данные и кэширует фрагменты ваших выходных данных и обеспечивает множество других улучшений производительности и безопасности, и все это без изменений в вашем коде.
Если это не вариант для вас, то вы все равно можете использовать IISpeed (это порт IIS от mod_pagespeed от Google). Он предоставляет некоторые интересные настройки, такие как удаление пробелов, встроенное сжатие CSS и js, слияние файлов js и многие другие.
Как CF, так и IISpeed не заботятся о том, как построен ваш сайт, они работают на уровне http / html, поэтому они оба работают с MVC, Classic ASP.NET, php или даже с необработанными html-файлами.