У меня такое ощущение, что я помещаю довольно много данных в мою сессию ASP.NET, но я не знаю, сколько и стоит ли мне беспокоиться. Я нашел похожий вопрос , но он основан на сериализации объектов и проверке их сериализованного размера. В моем случае большинство данных в сеансе находятся в объектах из другой библиотеки, классы которой не помечены как «Сериализуемые». (Я знаю, что это ограничивает меня в использовании поставщика состояния сеанса InProc, но это другая проблема). У кого-нибудь есть идеи о том, как обойти граф объекта и узнать его размер?
Добавлено: ОК, одним из способов будет ручной обход графа объектов и использование метода Marshal.SizeOf (). Но это много написано, чтобы заставить это работать. Есть ли, возможно, более простой способ достижения того же эффекта? Я не стремлюсь к точности байтов, меня интересует порядок величин (килобайт, мегабайт, десятки мегабайт ...)