У меня есть приложение ASP.NET, которое требует кэширования вывода. Мне нужно сделать недействительными кэшированные элементы при изменении данных, возвращаемых веб-службой, поэтому простой продолжительности недостаточно.
Я немного читал о зависимостях кеша и думаю, что у меня правильная идея. Похоже, мне нужно будет создать зависимость кэша для моего веб-сервиса.
Чтобы связать вывод страницы с этой зависимостью, я думаю, что я должен использовать следующий метод:
Response.AddCacheItemDependency (cacheKey);
То, с чем я борюсь, это то, что я должен добавить в кеш?
Зависимость моей страницы связана с одним значением, возвращаемым веб-службой. В настоящее время я думаю, что мне следует создать пользовательскую зависимость кэша с помощью создания подкласса CacheDependency и сохранить текущее значение в кэше. Затем я могу использовать Response.AddCacheItemDependency для формирования зависимости.
Затем я могу периодически проверять значение и наличие NotifyDependencyChange, чтобы сделать недействительным мой кэшированный ответ HTTP.
Проблема в том, что мне нужно убедиться, что кэш очищается немедленно, поэтому периодическая проверка не достаточно хороша. Как я могу убедиться, что мой зависимый объект в кеше, представляющий значение, возвращаемое веб-службой, будет переоценено до того, как ответ HTTP будет получен из кеша?
С уважением, Колин Э.