我们有一个 Web 应用程序,它经常使用缓存内存中的数据存储。
之前它是 HttpRuntime Cache,但后来迁移到 AppFabric Cache。
迁移后,尝试将对象添加到缓存中时会引发以下错误:
错误:
System.Runtime.Serialization.SerializationException:
"There was an error deserializing the object of type
System.Collections.ArrayList. No set method for property '' in type ''."
添加到 HttpRuntime 缓存仍然有效。但是对 AppFabric Cache 会抛出上述错误。
将项目添加到缓存内存的代码片段:
public static void Add(string pName, object pValue)
{
//System.Web.HttpRuntime.Cache.Add(pName, pValue, null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High, null);
appFabricCache.Add(pName, pValue);
}
以下类的实例正在尝试存储在高速缓存内存中。
public class Kernel
{
internal const BusinessObjectSource BO_DEFAULT_SOURCE=BusinessObjectSource.Context;
private System.Collections.ArrayList mProcesses = new System.Collections.ArrayList();
private System.Collections.Hashtable mProcessesHash = new System.Collections.Hashtable();
public SnapshotProcess mSnapShotProcess ;
private System.Collections.ArrayList mErrorInformation;
public Collections.ArrayList Processes
{
get { return mProcesses; }
}
}
任何人都知道如何解决这个问题......?谢谢。