缓存用户控件

时间:2009-12-05 20:50:52

标签: asp.net

ouputcaching的问题是避免访问该对象,它被缓存并且不会在 ALL 处理它并且它是HTML。例如,如果我想回发初始化国家下拉列表并具有特定选择,我不想返回并重新构建整个控件并重新绑定到一组国家,以便将控制器初始化到某个国家/地区。

输出缓存不会解决问题,因为它缓存HTML而不是对象,对象将为null,我无法操纵它。

是否需要缓存服务器对象而不是缓存输出html

如果你不认为这是可能的,请回复,所以我知道如果有很多人这样说是不可能的。

由于

1 个答案:

答案 0 :(得分:1)

很有可能 - 只需使用HttpRuntime cache

HttpRuntime.Cache.Add("myKey", myCountryList);

然后将对象取回:

CountryList myCountryList = HttpRuntime.Cache["myKey"] as CountryList;
if(myCountryList == null)
{
    //the object isn't in cache
}

这是最简单的用法 - 缓存非常强大,并支持一些更复杂的行为,如失效,回调等,这些都在上面的链接中有所涉及。