【发布时间】:2019-05-09 09:30:55
【问题描述】:
我有一个现有的 Web API 项目,在运行一些测试后,我想开始实现 protobuf。使用Serializer.GetProto<>() 方法,我得到了以下数据(仅显示开头):
syntax = "proto2";
package MyProject.Models;
import "protobuf-net/bcl.proto"; // schema for protobuf-net's handling of core .NET types
message AssemblyComponentDetailsModel {
optional .bcl.Guid ID = 1 [default = 00000000-0000-0000-0000-000000000000];
optional string AssemblyName = 2;
optional string ReferenceNumber = 3;
optional .bcl.Guid TypeID = 4 [default = 00000000-0000-0000-0000-000000000000];
optional .bcl.Guid CategoryID = 5 [default = 00000000-0000-0000-0000-000000000000];
optional string Symbol = 6;
repeated ComponentDetailsModel ComponentDetails = 7;
optional .bcl.Decimal MsrpTotal = 8 [default = 0];
}
该项目的前端使用 Angular 7,我正在使用此页面上的信息来实现它:https://medium.com/francesco-pongetti/using-protocol-buffers-in-a-node-js-angular-web-application-fba17df8ab51。
我的问题是,原始文件具有导入语句 import "protobuf-net/bcl.proto",并且正在使用该文件中的项目(例如 optional .bcl.Guid)。这会导致 Angular 中的反序列化问题吗?如果是这样,解决此问题的最简单方法是什么?项目中有很多类,我试图避免手动编写所有 .proto 文件。
非常感谢任何指导/建议,因为这是我第一次在实际项目中使用 protobuf。
提前谢谢你。
【问题讨论】:
标签: angular asp.net-web-api protobuf-net