Ви можете використовувати вбудований атрибут кешу, щоб запобігти кешування.
Для .net Framework: [OutputCache(NoStore = true, Duration = 0)]
Для .net Core: [ResponseCache(NoStore = true, Duration = 0)]
Майте на увазі, що неможливо змусити браузер відключити кешування. Найкраще, що ви можете зробити - це запропонувати пропозиції, які більшість браузерів шанують, як правило, у вигляді заголовків або метатегів. Цей атрибут декоратор буде відключити кешування сервера , а також додати заголовок: Cache-Control: public, no-store, max-age=0
. Він не додає метатеги. За бажанням їх можна додати вручну у подання.
Крім того, JQuery та інші клієнтські рамки намагатимуться обманути браузер не використовувати кешовану версію ресурсу, додаючи в URL-адресу, наприклад, часову позначку або GUID. Це ефективно, коли браузер знову вимагає ресурс, але насправді не запобігає кешування.
На завершальну записку. Ви повинні знати, що ресурси також можуть кешуватися між сервером і клієнтом. Провайдери, проксі-сервери та інші мережеві пристрої також кешують ресурси, і вони часто використовують внутрішні правила, не дивлячись на реальний ресурс. З цим не можна багато зробити. Хороша новина полягає в тому, що вони зазвичай кешують на більш короткі часові рамки, наприклад, секунди або хвилини.