2017-01-29 4 views
-2

Возможно ли создать объект класса singleton на стороне клиента, сериализовать его в сетевом потоке и на стороне сервера десериализовать объект в тот же класс, что и на стороне сервера. не одиночный объект?Сериализация и десериализация одноэлементного объекта для несингулярного объекта

+2

Какая клиентская сторона? Как вы сериализуете? Как вы собираетесь отражать серверную сторону? Это смехотворно неопределенный вопрос и должен быть закрыт как таковой. –

ответ

0

Нет, если вы не собираетесь использовать двоичный сериализатор, потому что сериализация XML будет лучше всего, но требует публичного конструктора без параметров, который нарушит ваш синглтон.

Вы можете использовать отражение, чтобы преобразовать singleton в XML, а затем проанализировать его на сервере ... Если вы просите отправить двоичный объект объекта на сервер, и все же он стал объектом, который не того же типа то вам нужно проанализировать информацию либо с отражением, либо путем создания новых объектов. Как и комментарий, это немного расплывчато, но то, что я сделал бы лично, передаёт свойства singleton в объект XML и отправляет его на сервер. Это проще всего работать, хотя я понимаю, что двоичная сериализация имеет прирост производительности. Вероятно, это не стоит выигрыша, если вы не потоки.

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