【发布时间】:2014-02-12 11:16:14
【问题描述】:
目前我们正在使用带有 NetTcpBinding 的 WCF 服务。我们确实有具有枚举作为属性的数据对象。我们已经发现,这些值开箱即用地序列化为字符串表示形式,请在此处查看: How do I serialize an enum value as an int?
我们确实希望避免这种情况,因为这只是通信开销!
由于我们很快将在线上将序列化切换到 protobuf-net,所以我问自己定义一个额外的整数属性是否值得花时间。我们有几个枚举,例如
[Flags]
public enum Permission
{
None = 0,
Read = 1,
Write = 2
}
在线上protobuf-net中flags enum的二进制表示如何?
它如何处理未定义的枚举值(例如 Read | Write)?
我还在这里找到了 Marc Gravell 的一些相关答案,但它可能已经过时(2009 年): Error while using ProtoBuf-Net with flags enum
【问题讨论】:
标签: c# wcf serialization enums protobuf-net