gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:10:07 24 4
gpt4 key购买 nike

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

而且,BinaryFormatter 也不在那里。

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

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

最佳答案

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

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

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

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

关于.net - 为什么 SerializableAttribute 不包含在 Silverlight 版本的 FCL 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com