there is no sure way, this will give an estimate:
double size = 0;
foreach (object obj in this.Session)
{
size += Convert.ToDouble(ObjectSizer.GetSize(obj));
}
Response.Write(string.Format("Session size: {0} KB",size / 1000));
class ObjectSizer
{
public static long GetSize(object obj)
{
MemoryStream m = new MemoryStream();
BinaryFormatter b = new BinaryFormatter();
try
{
b.Serialize(m, obj);
return m.Length;
}
finally
{
m.Close();
}
}
}
-- bruce (sqlwork.com)