Если вы не настроите IIS для предоставления asp.net контроля над запросами js / css / image, он не увидит их по умолчанию, поэтому ваш лучший план (для долгосрочной поддержки) - это намеренно настроить заголовки ответов на вашем брандмауэре TrafficManager / Server или (лучше и что делает большая часть мира в данный момент) для версии ваших файлов в пути, то есть:
Вместо того, чтобы писать это в разметке:
http://www.foo.com/cachingmakesmesad.css
Используйте это:
http://www.foo.com/cachingmakesmesad.css?v1
.. и измените номер версии, когда вам нужно эффективно очистить кеш. Если это происходит каждый раз, вы можете вместо этого добавить GUID или метку даты, но я не могу вспомнить ни одного случая, когда бы я действительно хотел это сделать.
Я думал, что ваш вопрос был анти-кэшированным, но перечитав его, я вижу, что я потерял хороший ответ там: P
Короче говоря, браузеры, как правило, очень агрессивно кешируют "простые" ресурсы, поэтому вам не нужно об этом беспокоиться, но если вы действительно хотите что-то с этим сделать, у вас должен быть доступ к брандмауэру / Trafficmanager / IIS по вышеуказанным причинам (ASP.NET по умолчанию не предоставляется).
Однако ... нет способа, которым вы можете абсолютно принудительно кэшировать, и вы не должны. То, что кэшировано, а что не кэшировано, по праву является решением конечного пользователя, все, что вы можете сделать, это настоятельно запросить.