Хорошо, очевидно, модуль сжатия IIS заставляет заголовок Vary быть Accept-Encoding, несмотря ни на что, поэтому кэширование становится сложным. Для страниц с аутентификацией это плохо, потому что он не обнаружит, что он отличается в зависимости от файла cookie пользователя. В результате я установил собственное сжатие в моем контроллере, и теперь все работает нормально.
Мое предложение - использовать только статическое сжатие IIS, не использовать динамическое сжатие и вместо этого использовать собственное динамическое сжатие. Это избавит вас от боли в долгосрочной перспективе и даст вам больше контроля.