この記事が重複しているように見えるかもしれませんが、この記事をすべて読み、テーマをテストするためのサンプルを開発します
c# でオブジェクト インスタンスのサイズをバイト単位で検索する http://www.codeproject.com/Questions/177604/Size-of-a-class-in-c メモリ内のオブジェクト サイズを取得するには? C# でフィールドのサイズをバイト単位で取得する http://blogs.msdn.com/b/cbrumme/archive/2003/04/15/51326.aspx
プロパティまたはフィールドをホワイトアウトするクラスがあります。サイズをテストするためだけに空です。
[Serializable]
public class MemberStateModel
{
}
私はオブジェクトを作成し、以下のコードでそのサイズを取得します:
static void Main(string[] args)
{
MemberStateModel o = new MemberStateModel() {};
long size;
using (Stream s = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(s, o);
size = s.Length;
}
}
現在、サイズは159を示しています。その投稿により、私のoサイズは159kbyteであることを意味していると思いますが、それは正しい方法ではなく、空のオブジェクトはこのサイズにすることはできません。本当ですか?
一部のユーザーのデータをセッションに保存し、サイトに追加されたユーザーによってこのサイズが大きくなると、Web アプリケーションを処理するためにより多くの物理メモリが必要になるため、これは私にとって非常に重要です。