頻繁に使用するデータをキャッシュ メモリに保存する 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; }
}
}
この問題を解決する方法を知っている人はいますか......?ありがとう。