ASP.NET中的缓存问题

Caching Problem in ASP.NET

我在asp.net页面中有一个对象列表。每个对象代表商店的产品,由产品名称,产品编号,价格,可用数量等组成。客户可以从下拉列表中选择产品,相应的字段(例如价格,数量等)为自动填充适当的值。出于性能原因,当页面加载时,我已从数据库中提取了整个产品列表,并将其存储在" Cache ['Product']"变量中,以便在发生下拉值更改事件时,我可以获取没有任何数据库查询的相应值。

此策略在我的本地开发环境中可以正常工作,但是将页面上载到服务器时,相应的字段未获得适当的值。即使从下拉列表中选择了产品,相应的字段也没有显示适当的价格,数量等。似乎我的缓存策略不起作用。

我不知道这里出了什么问题。我将缓存变量设置如下:

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

当我需要检索缓存值时,如下所示:

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

我绝对不知道这里可能是什么问题。我需要一些帮助:(


如果您在本地与服务器上遇到的行为不同,则可能与服务器的配置有关。如果可以访问,请检查是否存在一些差异。否则,您可能想发布更详细的代码示例;)