问题标签 [protobuf-net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
protobuf-net - 从 .proto rpc 条目生成 FaultContract 属性
我在我正在为数据合同工作的项目中使用 protobuf-net,.proto
手动创建文件并让自定义工具喷出它正在执行的 C# 代码。我也开始将它用于服务合同,并且服务接口也创建得很好。
为了连接到某些系统,我正在使用 WCF,因此我启用了datacontracts
生成器选项,尽管System.ServiceModel
存在属性,但我似乎没有任何方法可以声明服务可能引发的特定故障。
所以我的问题基本上是:
- Protocol Buffers 语言似乎没有任何异常/故障结构。
- 我看不到任何用于生成 FaultContract 属性的 protobuf-net 选项。
- protobuf-net 生成的接口未声明为部分的,因此我无法扩充生成的代码。
有没有办法在 protobuf-net 中声明服务 WCF 操作错误,或者这是我必须等待第 2 版的东西?
非常感谢。
protobuf-net - 基于接口的 Protobuf-net 序列化
我正在使用 protobuf-net r282,当我调用 Serialize 时,我收到 InvalidOperationException 错误消息“只能处理数据合同类(以及此类列表/数组)(错误处理对象)”。在调用 protobuf-net Serializer.Serialize 时,相关对象已被强制转换为接口。有没有办法解决这个问题?
这是代码:
}
protocol-buffers - 用于继承的 Protobuf-net .proto 文件生成
我正在对 Protobuf-net 进行原型设计,以替换我们当前使用 [Datacontract] 将对象序列化为 Xml 的一些现有 C# 代码。
使用 protobuffer,我们可以轻松地与 Java 共享数据。因此,我对 Protobuf-net 的 .proto 文件生成非常感兴趣。这对我迄今为止测试的几乎所有用例都有效。
但现在有了继承,这是一场不同的球赛。为继承类生成的 .proto 文件非常简单 - 不包括基类的任何字段。
继承本身在 C# 中运行良好——我可以读取生成的字节流(参见下面的测试)。所以内部二进制流包含了基类的所有字段
生成的.proto:
如果我能理解字节流是如何写出的,我可以手动创建相应的 .proto 文件。
任何人都有使用 protobuf-net 创建用于继承的 .proto 文件的经验吗?
任何有关如何为继承创建数据流的信息都会很棒。
我的数据模型如下:
我的 NUnit 测试如下所示:
protobuf-net - wcf 客户端代理生成的类中缺少数据成员顺序
已将 sql 数据库中的表映射到 Employee dbml 文件中的 linq。
在服务中我只是返回类型的对象
当我在我的客户中添加服务参考时,日期会员订单信息正在跳过。
当我使用 protobuf-net 进行序列化/反序列化时,它在我的客户端反序列化时会出现问题。
c# - 使用 protobuf-net 反序列化消息列表
我有一个使用 protobuf 发送消息的 java 后端,它通过 tib 在一个大字节数组 blob 中发送分隔的消息对象。我可以使用 java 中的函数 parseDelimitedFrom(yourStreamHere) 很好地反序列化它们,但在 C# 方面我们遇到了一些问题,我找不到任何示例,但我可能只是在这里遗漏了一些明显的东西。
我们正在像这样在 C# 中做一些事情
注意:我看到了一篇较旧的帖子,但它看起来很过时,我认为从那时起 protobuf-net 发生了变化,但如果我错了,请纠正
c# - 使用 protobuf-net 序列化具有接口类型成员的类
我无法使用 protobuf-net 序列化我的类,问题似乎是 protobuf-net 无法序列化接口。
我无法序列化 MyClass1 类型的任何对象,因为元素是一个接口列表,可以是 Mylass1 或 MyClass2。我收到一些编码未设置错误。
谁能让我知道如何解决这个问题。谢谢。
c# - protobuf.net 意外的子类型
我在使用 Protobuf.net 的项目中遇到了这个异常:
我有一个要发送的课程,如下所示:
foo 继承了 bar,但是 protobuf 似乎对此感到窒息并产生上述异常。有没有办法解决这个问题?我需要能够在列表中保存所有不同的 bar 子类型,因此更受类型约束的解决方案将是困难/不可能的。
protocol-buffers - Protobuf-net 对 Dictionary/KeyValuePair 的支持如何工作?
我正在尝试了解 protobuf-net 的 Dictionary/KeyValuePair 支持。我们想使用底层二进制流和从 java 生成的 proto 文件,但是生成的 .proto 文件包含看起来像自定义类型的东西,称为 Pair_String_Int32。
有人可以对此有所了解吗?
我有一个像这样映射的类:
使用 Serializer.GetProto 生成的 .proto 文件将是:
那么什么是 Pair_String_Int32 (以及进入 protobuffer 字节流的内容),有什么方法可以映射它,以便 protobuf 通过使用 protoc 可以在 Java 中创建等效的映射代码?
.net-4.0 - protobuf-net 和 .Net 4 有什么问题吗?
Protobuf-net 的项目页面讨论了除 4 之外的所有 .Net 版本。在 .Net 4 下使用 protobuf-net 有什么问题吗?
c# - Protobuf.net “一旦生成了序列化程序,就无法更改类型”
我有一些使用 Protobuf.net 的相当简单的代码,它抛出了一个非常奇怪的异常。在第 167 行的 MetaType.cs 中,它会抛出 InvalidOperationException “一旦生成了序列化程序,就无法更改类型”。这是什么意思,我该如何解决?
我的代码如下所示:
此方法启动所有序列化:
非常简单,它只是并行循环遍历所有内容,并序列化 100 个小部件。
serialise 方法也很简单:
最后,小部件类如下所示:
编辑:: 我怀疑这可能与我并行循环的事实有关。Protobuf.net 对于这种事情的线程安全性如何?