Поскольку IIS7, все настройки IIS могут быть применены через файл web.config, в частности, раздел system.webServer .В этом случае вы должны проверить в разделе кэширования и создать пользовательский профиль (убедитесь, что для атрибута varByQueryString установлено значение true, чтобы "? Version = xxx" работал).
Переходя к вопросу развертывания, необходимо изменить URL-адрес, поскольку клиент не будет проверять наличие новой версии файла, пока кэш действителен (и вы говорите, что можете установить дни в качестве длительности кеша).Одним из распространенных шаблонов является автоматическое создание URL-адреса на основе даты изменения, например, если ваша исходная строка:
<script src='functions.js' />
Вы можете изменить ее на:
<script src='<%=GetFilenameWithModificationDate("functions.js")%>' />
Функция должна получить DateTime модификации файла и добавить его в файл, поэтому, если файл был последний раз изменен в 2010-01-01 в 10:12:34, она должна сгенерировать что-то вроде этого:
<script src='functions.js?version=20100101101234' />
Таким образом, когда вы изменяете файл, будет добавляться новая строка запроса и обновляться кеш.
Поскольку вы работаете с кэшированием файлов статических файлов, яПредполагая, что производительность является фактором, поэтому вы должны рассмотреть штраф за проверку даты изменения для каждого файла, и вы можете использовать кэширование в вспомогательной функции, элементе управления или любом другом механизме, который вы решите использовать.
HTH