我目前有一个名为MyGridview的控件,它继承了Gridview。它内部有一个分页模板,用于自定义分页选项,我正处于需要缓存初始数据源以获得更好性能的地步。
我在很长一段时间内没有这样做,所以也许现在有了一个不同的解决方案与更新的框架。在此之前,我只使用了一个名为Gridview的名称的Cache对象。我不能通过应用程序使用相同的gridview名称。
是否有最佳方法可以使用缓存对象或控件中的某个其他对象来存储这些用于分页和排序的唯一数据集?
答案 0 :(得分:0)
由于您正在谈论自定义控件,我建议对其进行抽象,以便使用该应用程序的任何人都可以定义自己的策略。定义界面:
public interface IGridCaching {
object LoadCache();
void SaveCache(object data);
}
创建默认实现DefaultGridCaching并实现所需的解决方案,并将其作为Grid的属性公开:
public IGridCaching Caching
{
get { return this._caching ?? new DefaultGridCaching(); }
set { this._caching = value; }
}
然后它变得可定制。没有大量的变化;缓存仍然是一个不错的选择。使用企业库缓存块是另一种缓存解决方案。但是这样,缓存可以自定义。
HTH。