В зависимости от настроек на стороне клиента, иногда клиент (особенно веб-просмотры) может кэшировать содержимое страницы, несмотря на тот факт, что страница должна быть динамической, если к странице обращаются методом GET и с теми же параметрами.Предложения других, в которых упоминается передача случайного параметра GET, могут также предотвратить кэширование клиента, но вы не обязательно можете контролировать запрос клиента.В этом случае вы можете попробовать добавить следующую строку в метод действия вашего контроллера:
Response.AppendHeader("Cache-Control", "no-cache");
Или вы можете написать такой атрибут:
public class NoCacheAttribute : FilterAttribute, IActionFilter {
public void OnActionExecuted(ActionExecutedContext filterContext) {
filterContext.RequestContext.HttpContext.Response.AppendHeader("Cache-Control", "no-cache");
}
public void OnActionExecuting(ActionExecutingContext filterContext) { }
}
И добавьте атрибут [NoCache]
к любому контроллеру или действию, которое вы хотите.Это сообщит клиенту, что эта страница не должна кэшироваться.Клиент может все еще игнорировать этот заголовок, опять же, в зависимости от его настроек, но поведение большинства клиентов по умолчанию должно работать с этим методом.