Это то, что я использую:
- Веб-формы ASP.NET
- SQL Server 2008
- Веб-API 2
Я пытаюсь реализовать кэш второго уровня, используя EntityFramework.Cache
, который я установил из диспетчера пакетов Nuget.Пока что результаты запроса кешируются.Я читал о времени истечения и времени скольжения, но мы должны установить для него определенное время. Теперь, что я хочу сделать, это очистить кэш второго уровня при обновлении базы данных (SQL Server 2008).
Мой код выглядит следующим образом:
[HttpGet]
public IHttpActionResult Get(string id)
{
try
{
var viewModels = new List<LikeProduct>();
using (TestDatabaseEntities db = new TestDatabaseEntities())
{
var res = db.LikeProducts.Where(xctitemprice => xctitemprice.OrigItem == id).ToList();
foreach (var model in res)
{
var todoViewModel = new LikeProduct
{
ItemId = model.ItemId,
LikeCounter = model.LikeCounter,
OrigItem = model.OrigItem
};
viewModels.Add(todoViewModel);
}
return Json(viewModels);
}
}
catch
{
return InternalServerError();
}
}
Могу ли я добавить сюда некоторые изменения, которые сначала проверят, обновлен ли результат запроса или нет.Если да, то очистите кеш и получите результат из БД, иначе верните кэшированные данные.
Извините, если вопрос не ясен. Пожалуйста, дайте мне знать, если нужна какая-либо другая информация.
Заранее спасибо,:)