Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Сериализация типов


Автор: useless 1.12.2005, 22:15
С сериализацией объектов всё понятно.
А если мне надо сериализовать какой-либо тип?

Например, где-то на сервере организовать хранилище типов, которые хранятся не в скомптлтрованной сборке, а например в БД.

Я конечно, в .NET пока слабоват. Посмотрел MSDN. Remoting, по-моему, не подходит - он выковыривает типы только из сборок. Или нет?

Если нет, киньте код с примером.

Автор: mr.DUDA 2.12.2005, 10:22
Цитата(useless @ 1.12.2005, 21:15)
А если мне надо сериализовать какой-либо тип?

Например, где-то на сервере организовать хранилище типов, которые хранятся не в скомптлтрованной сборке, а например в БД.


Можно сериализовать бинарное содержимое сборки.

Можно хранить в БД исходный текст класса, и компилировать его в рантайме при десериализации.

Можно хранить некое метаописание типа, т.е. набор характерных признаков, по которым создавать тип в рантайме при десериализации. Этот вариант подходит только в ограниченном наборе случаев, т.к. тип описывается слишком абстрактно; кроме того, невозможно реализовать поведение класса, не имея перед собой исходного кода.

Вообще, какая задача решается ?

Автор: useless 2.12.2005, 12:04
Конкретной задачи пока нет.

Просто я подумал, может быть возможно создать что-то на подобие объектной СУБД. Информация в ней будет храниться в виде объектов. Но тут встаёт вопрос с типами - где и как их хранить?
Цитата(mr @ 2.12.2005, 10:22)
Можно сериализовать бинарное содержимое сборки.
Этот вариант мне больше всего понравился.
Т.е. в принципе возможно.

Ещё один вопрос - целесообразность разработки такой системы. Не изобретение ли это велосипеда? Сейчас, на сколько я знаю, уже существуют промышленные варианты объектных СУБД, которые хранят данные в виде объектов вместе с кодом, описывающим поведение объектов и бизнес-логику. Но там используется свой встроенный объектно-ориентированный язык запросов.

С высоты своей компетенции я не могу объективно ответить на вопрос о целесообразности такой разработки. Может быть есть люди, которые владеют большей информацией по этой теме. Хотелось бы услышать их мнение.

Предложение к модератору - выделить тему в отдельное обсуждение: "Объектная СУБД на .NET"

Автор: mr.DUDA 2.12.2005, 13:08
Цитата(useless @ 2.12.2005, 11:04)
Ещё один вопрос - целесообразность разработки такой системы. Не изобретение ли это велосипеда? Сейчас, на сколько я знаю, уже существуют промышленные варианты объектных СУБД, которые хранят данные в виде объектов вместе с кодом, описывающим поведение объектов и бизнес-логику. Но там используется свой встроенный объектно-ориентированный язык запросов.

Есть такие:
http://www.intersystems.com/cache/,
Jasmine (не нашёл ссылок)
Добавлено @ 13:08
Ещё есть SQL сервер 2005, с хранимыми процедурами на C# и возможностью хранить объекты в XML.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)