代码之家  ›  专栏  ›  技术社区  ›  queen3

如何在Silverlight WCF生成的服务中使用protobuf net

  •  1
  • queen3  · 技术社区  · 15 年前

    我尝试在WCF/Silverlight应用程序中使用protobufnet来提高大型对象数组序列化性能。我可以序列化/反序列化服务代码中的类(added Order=,etc)。

    我认为这是因为:

    1. 域类(类型)不在重用程序集中,它们在客户端上重新生成,并且Order=丢失。

    我甚至认为,如果没有其他解决方案,调整Reference.cs以将缺少的behavior和Order=添加到适当的成员(通过perl/regex脚本)会更容易,但是我到底需要调整什么,它会工作吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Marc Gravell    15 年前

    重新 [ProtoBehavior] ,Silverlight非常简单地缺少我们可以用来 默默地 在WCF中注入一个替代的序列化程序,这是一个难题。唯一的办法 和silverlight一起 byte[] Stream 并在两端处理序列化/反序列化。

    重新 Order=... ,这将是值得检查的内容;如果他们提出了不同的数字,有办法通过 partial class -一个丑陋的黑客,但IIRC有 ProtoPartialMember (或类似的)适用于 Offset (IIRC,抱歉-没有代码)开始 [ProtoContract]

    在v2(未发布)中,您可以更好地控制排序(/字段号),而不必处理属性。