/ / чи є в будь-якому випадку виявити, коли певна дія контролера виселяється при використанні атрибута outputcache - asp.net-mvc, outputcache, кеш-контроль

в будь-якому випадку виявляти, коли певна дія контролера витягується при використанні атрибута outputcache - asp.net-mvc, outputcache, cache-control

у мене є цей код:

    [AcceptVerbs(HttpVerbs.Get)]
[OutputCache(Duration = 86400, VaryByParam = "*")]
public ActionResult GetData(MyParams myParams)
{
return GetDataEx(myParams);
}

кешувати купу Json на моєму веб-сервері.

я бачу на цій сторінці, він говорить

Немає гарантії, що вміст буде кешовано протягом визначеного вами часу. Коли ресурсів пам'яті стає мало, кеш починає автоматично витісняти вміст.

чи є спосіб отримати конкретний зворотний дзвінок, колицей елемент виселяється з кешу через низький рівень ресурсів пам'яті. Я не бачу кешу, який працює належним чином, але я здогадуюсь, що у мене закінчується пам'ять, але якби у мене був цей зворотний виклик, я міг би точно сказати.

Відповіді:

1 для відповіді № 1

З кешуванням вихідних даних відповіді немає можливостіотримувати повідомлення, коли термін дії вмісту закінчується. І, чесно кажучи, вас не повинно хвилювати, якщо термін дії вмісту закінчився, дія контролера буде просто натиснута, а новий вміст знову кешований. Також зверніть увагу, що залежно від місця, де ви налаштували цей вихідний кеш для зберігання, якщо він знаходиться на поточному рівні на проміжних проксі-серверах або клієнтських браузерах, термін дії кеш-пам'яті повністю виходить з-під вашого контролю.

Якщо ви кешуєте об'єкти вручну в кеш-пам'яті ASP.NET, ви можете зареєструвати файл CacheItemRemovedCallback який буде виконаний, коли елемент буде видалено, але це не застосовується до кешування вихідних даних відповіді, що саме тут ви використовуєте.