кэширование не работает в датайлере - PullRequest
1 голос
/ 18 ноября 2011

При использовании 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

1 Ответ

1 голос
/ 18 ноября 2011

Есть ли у вашего слоя данных ссылка на System.Web?Вы пытались установить точку останова и пошагово пройти по коду, чтобы увидеть, как выглядит фактический поток управления?

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