ouputcaching的问题是避免访问该对象,它被缓存并且不会在 ALL 处理它并且它是HTML。例如,如果我想回发初始化国家下拉列表并具有特定选择,我不想返回并重新构建整个控件并重新绑定到一组国家,以便将控制器初始化到某个国家/地区。
输出缓存不会解决问题,因为它缓存HTML而不是对象,对象将为null,我无法操纵它。
是否需要缓存服务器对象而不是缓存输出html ?
如果你不认为这是可能的,请回复,所以我知道如果有很多人这样说是不可能的。
由于
答案 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
}
这是最简单的用法 - 缓存非常强大,并支持一些更复杂的行为,如失效,回调等,这些都在上面的链接中有所涉及。