我有一个 3.5 SP1 项目,WCF 服务仅限于 Silverlight 3 客户端使用。由于业务需求,我们必须使用大型对象图,这些对象图通过 WCF 端的 SQL Server 进行水合,然后发送到 Silverlight 客户端。它们很深,您可能有一个具有两个集合属性的类,并且集合中的每个项目内部都有集合。基本设计就是它,我继承的东西,必须在短期内工作。我们说的有多大?在不使用任何修改(httpBinding 和 DataContractSerializer)的情况下,一个包含 250 个项目的顶级集合示例是 14mb。250 个项目很小,我们面临的要求要求我们能够使用 10 个,鉴于我有限的数学技能,000 多个项目远远超过 500mb 可以拉过电线。不能在公园里散步——事实上——你可以在公园里散步,而这一切都在搅动。
所以我们正在考虑几件事,一是远离 DataContractSerializer 并使用 XmlSerializer,这样我们就可以将许多这些属性移动到属性中并减少有效负载大小。我们也在研究二进制 Xml 绑定。
我的问题是,你会怎么做?IIS 压缩可以在这里发挥作用吗?离开 DCS 是个坏主意?有没有更好的技术?我是在没有桨的小溪上吗?