aşağıya bakın. chartData_Type
'un değer türü veya referans tipi olup olmadığını bilmiyorum.
değer türü ise, kullanımı kolaydır: Referans tipi, bu karmaşık gelirse
List<chartData_Type> list = new List<chartData_Type>(_chartData);
Ancak sizin de sınıf için DeepCopy yöntemini uygulamak gerekir, daha sonra her nesnede için DeepCopy
do liste.
DeepClone
yöntemi:
bu yöntemi kullanmak için
public static class CloneHelper
{
public static T DeepClone<T>(T obj)
{
using (var ms = new MemoryStream())
{
var formatter = new BinaryFormatter();
formatter.Serialize(ms, obj);
ms.Position = 0;
return (T) formatter.Deserialize(ms);
}
}
}
, sınıf chartData_Type
[Serializable]
işaretlenmiş olmalıdır:
[Serializable]
class chartData_Type
{}
Yani, el derin klon yapabilirsiniz:
var cloneChartData = _chartData.Select(d =>
CloneHelper.DeepClone<chartData_Type>(d))
.ToList();
AppFabric veya NCache'nin bu sorunu çözüp çözemeyeceğini merak ediyorum. Bunu başka bir konudan sordum: http://stackoverflow.com/questions/23546817/appfabric-ncache-will-these-solve-httpruntime-cache-objects-being-updated-by-r – DrGriff