需要列出asp.net Web表单应用程序的应用程序缓存中的项目以及每个项目的大小(以字节/ KB为单位)。
列出我在代码
后面使用的项目键IDictionaryEnumerator enumerator = System.Web.HttpRuntime.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
chacheList.Add(new CacheDetails()
{
CacheKey = (string) enumerator.Key
});
}
使用以下方法时,少数项目会发生错误。异常消息 - “未标记为可序列化。”
foreach (var item in chacheList)
{
var cacheObject = Cache.Get(item.CacheKey);
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
byte[] Array;
bf.Serialize(ms, cacheObject);
Array = ms.ToArray();
var memsize = Array.Length;
..
..
}
如何克服上述问题?