【问题标题】:Why is SerializableAttribute not included in the Silverlight version of FCL?为什么 SerializableAttribute 不包含在 Silverlight 版本的 FCL 中?
【发布时间】:2011-08-07 17:38:12
【问题描述】:

为什么SerializableAttribute 不包含在Silverlight 版本的FCL 中?

而且,BinaryFormatter 也不在里面。

我不是在寻找替代解决方案,我只是对这个事实感到好奇。

二进制序列化是否从根本上违反了 Silverlight 的某些设计规则?

【问题讨论】:

标签: .net silverlight serialization serializable fcl


【解决方案1】:

首先,Silverlight 有不同的权限规则 - 在私有字段中更难获得。当然,对于 FCL 设计人员来说,我认为这不是问题 - 他们可以将其编码到运行时(但重新创建一种潜在的方式来绕过沙箱)。

也许 biggie 是 Silverlight 不需要(或不想)支持“远程处理”,这是它必须存在于主要 .NET BCL 中的主要原因。当然,远程处理一般已经过时,但需要在核心 .NET 中才能向后兼容。

第三个原因很可能是BinaryFormatter 的本质; SL 中的许多类在 SL 运行时内都有不同的实现,以说明不同的功能和可用类型/安全性等。这使得它几乎不可能与核心 .NET 运行时有线兼容。因此,您将无法与您的服务器代码共享它。

总的来说,剪掉它是很有意义的。对于 appserver,存在基于合约的序列化器;和其他(我敢说:更好的)二进制序列化程序可以避免所有这些问题(即完全可移植)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-15
    • 2017-10-17
    • 2023-04-02
    • 2016-08-02
    • 2014-11-04
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多