首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体空间与Protobuf.Net集成的建议

实体空间与Protobuf.Net集成的建议
EN

Stack Overflow用户
提问于 2012-12-14 12:36:28
回答 1查看 85关注 0票数 1

通常,当我在做基于网络的工作时,我会使用Protobuf在网络中移动自定义对象,这些对象是为正在构建的系统建模的,以便从其他系统移动我的数据/组合对象。

我目前参与了一个增强项目,该项目使用基于专有文本的协议,该协议主要使用文本作为数据的序列化(,|和[]符号)和Entityspace作为数据访问层。

我要问的问题是,我应该创建另一个对象层来提供Protobuf网络对象,这些对象是从Entityspaces对象的“加载”数据中填充的,还是应该向Entityspaces对象中的对象添加必要的protobuf标记(它们是从数据库自动生成的,目前还没有)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-14 16:02:15

哪种情况都有可能。如果需要将协议数据编码为文本格式:使用base-64,它不使用| / [ / ]

如果您更喜欢对当前没有属性的对象进行protobuf编码,也有方法可以做到这一点:如果数据库中的类型是作为partial类生成的,那么最简单的做法就是(在另一个代码文件中):

代码语言:javascript
复制
namespace The.Same.Namespace {
    [ProtoContract]
    [ProtoPartialMember(1, "Foo")]
    [ProtoPartialMember(2, "Bar")]
    ...
    partial class SomeEntity {}
}

其中FooBar是要序列化的成员。或者,您可以在运行时配置整个模型:

代码语言:javascript
复制
RuntimeTypeModel.Default.Add(typeof(SomeEntity), false).Add("Foo", "Bar");

(这是一个非常基本的配置;还有更多微妙的选项可用)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13872725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档