Я использую двоичную сериализацию (BinaryFormatter) как временный механизм для хранения информации о состоянии в файле для относительно сложной (игровой) структуры объекта; файлы выходят намного больше, чем я ожидаю, и моя структура данных включает в себя рекурсивные ссылки - поэтому мне интересно, действительно ли BinaryFormatter хранит несколько копий одних и тех же объектов или мой основной номер объектов и значений у меня должно быть "arithmentic" - это вне базы, или где еще происходит чрезмерный размер.
Поиск в переполнении стека Я смог найти спецификацию для формата удаленных файлов Microsoft: http://msdn.microsoft.com/en-us/library/cc236844(PROT.10).aspx
То, что я не могу найти, - это любой существующий просмотрщик, который позволяет вам "заглядывать" в содержимое выходного файла бинарного форматирования - получить количество объектов и общее количество байтов для разных типов объектов в файле и т.д.;
Я чувствую, что это должен быть мой "google-fu", который меня не сбивает (что у меня мало) - может ли кто-нибудь помочь? Это, должно быть, было сделано раньше, правильно?
UPDATE: я не мог найти его и не получил ответов, поэтому я поставил что-то относительно быстро (ссылка на загружаемый проект ниже); Я могу подтвердить, что BinaryFormatter не хранит несколько копий одного и того же объекта, но он печатает довольно много метаданных в потоке. Если вам нужно эффективное хранилище, создайте свои собственные методы сериализации.