Почему SerializableAttribute не включен в версию FCL Silverlight? - PullRequest
3 голосов
/ 18 апреля 2011

Почему SerializableAttribute не включен в версию FCL Silverlight?

А также, BinaryFormatter также отсутствует.

Я не ищу альтернативное решение, мне просто любопытноо факте.

Является ли двоичная сериализация принципиально противоречащей некоторым правилам проектирования Silverlight?

1 Ответ

1 голос
/ 18 апреля 2011

Во-первых, у Silverlight есть другие правила доступа - гораздо труднее получить доступ к частным полям.Конечно, для дизайнеров FCL я не думаю, что это будет проблемой - они могли бы просто закодировать это во время выполнения (но заново создать потенциальный способ обхода песочницы).

Возможно, biggie заключается в том, что Silverlight не нуждается (или не хочет) поддерживать «удаленное взаимодействие», что является основной причиной его существования в основном .NET BCL.Конечно, удаленное взаимодействие вышло из моды обычно , но для обратной совместимости оно должно быть в ядре .NET.

Третьей причиной может быть сама природа BinaryFormatter;многие классы в SL имеют разные реализации внутри среды выполнения SL, чтобы учитывать различные функции и доступные типы / security / и т. д. Это делает практически невозможным его проводную совместимость с ядром .NET.Таким образом, вы не сможете поделиться им с кодом своего сервера.

В общем, тогда имеет смысл просто сократить его.Для сервера приложения <===> существуют сериализаторы на основе контракта;и другие (смею сказать: лучше) двоичные сериализаторы, которые позволяют избежать всех этих проблем (т. е. полностью переносимы).

...