У меня есть список объектов на странице 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"];
Я абсолютно не представляю, в чем здесь проблема. Мне нужна помощь: (