у мене є цей код:
[AcceptVerbs(HttpVerbs.Get)]
[OutputCache(Duration = 86400, VaryByParam = "*")]
public ActionResult GetData(MyParams myParams)
{
return GetDataEx(myParams);
}
кешувати купу Json на моєму веб-сервері.
я бачу на цій сторінці, він говорить
Немає гарантії, що вміст буде кешовано протягом визначеного вами часу. Коли ресурсів пам'яті стає мало, кеш починає автоматично витісняти вміст.
чи є спосіб отримати конкретний зворотний дзвінок, колицей елемент виселяється з кешу через низький рівень ресурсів пам'яті. Я не бачу кешу, який працює належним чином, але я здогадуюсь, що у мене закінчується пам'ять, але якби у мене був цей зворотний виклик, я міг би точно сказати.
Відповіді:
1 для відповіді № 1З кешуванням вихідних даних відповіді немає можливостіотримувати повідомлення, коли термін дії вмісту закінчується. І, чесно кажучи, вас не повинно хвилювати, якщо термін дії вмісту закінчився, дія контролера буде просто натиснута, а новий вміст знову кешований. Також зверніть увагу, що залежно від місця, де ви налаштували цей вихідний кеш для зберігання, якщо він знаходиться на поточному рівні на проміжних проксі-серверах або клієнтських браузерах, термін дії кеш-пам'яті повністю виходить з-під вашого контролю.
Якщо ви кешуєте об'єкти вручну в кеш-пам'яті ASP.NET, ви можете зареєструвати файл CacheItemRemovedCallback який буде виконаний, коли елемент буде видалено, але це не застосовується до кешування вихідних даних відповіді, що саме тут ви використовуєте.