Dra*_*ouf 5 c# asp.net collections asp.net-mvc caching
我想在 asp.net mvc 中缓存一个数据集合并过滤该集合而不更改缓存的集合。
是否有可能做到这一点?
因为现在,当我获取缓存的集合时,我会获得对其的引用,并过滤该集合的数据更改缓存的集合。
有人知道吗?
我最终通过在每个对象中创建一个 Clone() 方法来解决我的问题,并在从缓存中检索主对象后立即调用主对象上的 Clone() 方法。
我的主要对象是帐户类型,其中包含域列表,其中包含产品列表等......
这是 Account 对象中的 Clone 方法:
public Account Clone()
{
// Copy all properties of the object in a new object account
var account = (Account)this.MemberwiseClone();
var domainsList = new List<Domain>();
foreach (var d in this.Domains)
{
domainsList.Add(d.Clone());
}
account.Domains = domainsList;
return account;
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我使用 MemberwiseClone() 复制简单属性,然后对所有复杂对象再次调用 Clone 。克隆是我在所有复杂对象中创建的自定义方法。
现在它工作正常......
| 归档时间: |
|
| 查看次数: |
5998 次 |
| 最近记录: |