0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 1
1

Бинарная сериализация не в файл

26.03.2016, 07:39. Показов 1680. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Стоит такая задача: каким-либо образом сохранять лист элементов собственного класса в ячейку базы данных и с таким же успехом его потом восстанавливать. Ничего кроме сериализации на ум не приходит. Теперь суть проблемы. BinaryFormatter работает с файлом через поток, а уж очень бы хотелось записать все это в строковую переменную, чтобы потом записывать ее в базу. Примеров таких найти не смог, в методе Serialize() перегрузок подходящих тоже не вижу (плохо смотрю?..). В общем, подскажите если сможете, либо может есть идеи сделать это по-другому. Заранее спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2016, 07:39
Ответы с готовыми решениями:

Бинарная сериализация
Доброе время суток! После выключения света и аварийного выключения моя программа перестала...

Бинарная сериализация : ISerializable
Наблюдаю следующий эксепшин: System.InvalidCastException: Объект должен реализовывать интерфейс...

Бинарная сериализация, что-то не так
Решил заменить реализацию ISerializable , атрибутами...Ну и , конечно , нельзя , чтобы все взяло и...

Бинарная сериализация и передача через TcpClient
Парни помогите..уже не знаю куда смотреть..Надежда только сюда..уже запарился.Вобщем пишу...

2
Администратор
Эксперт .NET
15575 / 12548 / 4985
Регистрация: 17.03.2014
Сообщений: 25,474
Записей в блоге: 1
26.03.2016, 08:02 2
Лучший ответ Сообщение было отмечено tlp как решение

Решение

tlp, чтобы таких вопросов не возникало нужно помнить что поток это некое абстрактное хранилище байтов. В качестве потока может выступать FileStream (файл на диске), MemoryStream (данные в памяти), NetworkStream (данные получаемые и отправляемые по сети) и т.д. В данном случае тебе нужен MemoryStream
C#
1
2
3
4
5
6
7
8
9
MyObj obj = new MyObj();
string data;
using (MemoryStream mstream = new MemoryStream())
{
    BinaryFormatter bf = new BinaryFormatter();
    bf.Serialize(mstream, obj);
    data = Convert.ToBase64String(mstream.ToArray());
}
// записываем data в БД
1
2721 / 2031 / 375
Регистрация: 22.07.2011
Сообщений: 7,690
26.03.2016, 13:22 3
Цитата Сообщение от tlp Посмотреть сообщение
записать все это в строковую переменную, чтобы потом записывать ее в базу.
Еще добавлю парочку популярных форматов:
Newtonsoft.JsonConvert.Serizalizer и System.Net.XmlSerializer ,
ну или можете свой вариант сериализатора написать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2016, 13:22
Помогаю со студенческими работами здесь

Бинарная сериализация при отсутствии оригинальных типов
Добрый день! Мне необходимо реализовать сериализацию массива объектов. Использую бинарную...

Бинарная сериализация класса без подписчиков на его событие
Здравствуйте. Продемонстрирую проблему на упрощенном примере. Есть класс EventingClass, у...

Бинарная сериализация - Error - Конец потока обнаружен до завершения разбора
Делаю сетевую игру пинг-понг(вот похожая игра -...

Бинарная сериализация
Добрый день. Допустим есть класс. Сериализирую его в помощью бинарной сериализации. Все хорошо....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru