При использовании HttpContext.Current.Cache в моем слое данных ничего не кэшируется. Я использую этот код:
public List<Review> GetReviews()
{
List<Review> reviews = new List<Review>();
string cacheKey = "my_reviews";
if (HttpContext.Current != null && HttpContext.Current.Cache[cacheKey] != null)
reviews = (List<Review>)HttpContext.Current.Cache[cacheKey];
else
{
reviews = (List<Review>)Review.Find(review => review.NodeId == nodeId && review.IsDeleted == false);
if (HttpContext.Current != null)
HttpContext.Current.Cache.Insert(cacheKey, reviews, null, DateTime.Now.AddMinutes(60), System.Web.Caching.Cache.NoSlidingExpiration);
}
return reviews;
}
Когда я снова вызываю метод, ничто не кэшируется.
Если я использую точно такой же код в своем UI-слое, все работает как положено, и отзывы кэшируются.
Почему я не могу кэшировать обзоры в слое данных?
Спасибо
Thomas