Признание недействительным объекта кеша в ASP.NET - PullRequest
1 голос
/ 01 сентября 2009

Я поддерживаю приложение, в котором разработчик использовал кэширование данных следующим образом:

HttpContext.Current.Cache["key"] = myDataSet;

Он не указал, когда этот кеш становится недействительным. myDataSet является результатом SELECT из базы данных. База данных была обновлена, но кэш не признан недействительным. Я не хочу менять исходный код. Я просто хочу сделать это недействительным. Я попытался iisreset без удачи.

Ответы [ 4 ]

3 голосов
/ 01 сентября 2009

Если вы повторно сохраните web.config, пул приложений будет перерабатываться более изящно, чем iisreset, с тем же результатом для кэша.

1 голос
/ 01 сентября 2009

iisreset должен работать. Всякий раз, когда приложение ASP.Net выгружается из памяти, оно удаляет все данные сеанса, управляемые сервером. Даже простое прикосновение к web.config должно выгрузить приложение.

1 голос
/ 01 сентября 2009

Решение все равно будет несколько грязным, если вы не можете изменить код (чистый способ - использовать SqlCacheDependency)

Можете ли вы изменить Global.asax.cs (хотя это и исходный код)? Вы можете получить доступ к HttpContext отсюда и очистить кэш в вашем коде.

0 голосов
/ 01 сентября 2009

iisreset сработало! Я не заметил изменений, поскольку IE кэшировал наборы данных. Итак, исходный вопрос не совсем точен.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...