Проблема кеширования в ASP.NET - PullRequest
1 голос
/ 31 января 2010

У меня есть список объектов на странице asp.net. Каждый объект представляет продукт магазина, состоящий из названия продукта, идентификатора продукта, цены, доступного количества и т. Д. Клиент может выбрать продукт из выпадающего списка, и соответствующие поля, такие как цена, количество и т. Д. автоматически заполняется соответствующими значениями. По соображениям производительности, когда страница загружается, я извлек весь список продуктов из базы данных и сохранил его в переменной «Cache ['Product']», чтобы при возникновении события изменения значения раскрывающегося списка я мог получить соответствующие значения без запросов к базе данных.

Эта стратегия отлично работает в моей локальной среде разработки, но когда страница загружается на сервер, соответствующие поля не получают соответствующих значений. Даже если из выпадающего списка выбран продукт, в соответствующих полях не отображается соответствующая цена, количество и т. Д. Похоже, что моя стратегия кэширования не работает.

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

if(Cache["ProductList"] == null)
            Cache.Insert("ProductList", Product, null, DateTime.Now.AddHours(1), Cache.NoSlidingExpiration);

Когда мне нужно получить значения кэша, я сделал это, как показано ниже:

List<Product> CachedProduct = (List<Product> )Cache["ProductList"];

Я абсолютно не представляю, в чем здесь проблема. Мне нужна помощь: (

1 Ответ

0 голосов
/ 31 января 2010

Если вы испытываете другое поведение локально, чем на сервере, это может быть связано с настройкой сервера. Если у вас есть доступ к этому, проверьте, есть ли различия. В противном случае вы можете опубликовать более подробный пример кода;)

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