摘要: Updating A Message Type - 更新消息类型 如果现有的消息类型不再满足您的所有需要(例如,您希望消息格式有一个额外的字段),但是您仍然希望使用用旧格式创建的代码,不要担心!在不破坏任何现有代码的情况下更新消息类型非常简单。记住以下规则: 不要更改任何现有字段的字段编号。 如果添 阅读全文
posted @ 2021-01-13 17:28 Theo·Chan 阅读(290) 评论(0) 推荐(0)
摘要: Nested Types - 嵌套类型 您可以在其他消息类型中定义和使用消息类型,如以下示例所示——这里的Result消息是在SearchResponse消息中定义的: message SearchResponse { message Result { string url = 1; string 阅读全文
posted @ 2021-01-13 17:18 Theo·Chan 阅读(552) 评论(0) 推荐(0)
摘要: Using Other Message Types - 使用其他消息类型 可以将其他消息类型用作字段类型。例如,假设您希望在每个SearchResponse消息中包含Result消息——为此,您可以在同一.proto中定义Result消息类型,然后在SearchResponse中指定类型为Resul 阅读全文
posted @ 2021-01-13 17:16 Theo·Chan 阅读(372) 评论(0) 推荐(0)
摘要: 枚举类型 定义消息类型时,可能希望其中一个字段只包含预定义值列表中的一个。例如,假设您想为每个SearchRequest添加一个corpus(语料库)字段,其中语料库的值可以是UNIVERSAL、WEB、IMAGES、LOCAL、NEWS、PRODUCTS或VIDEO。您只需在消息定义中添加一个枚举 阅读全文
posted @ 2021-01-13 17:12 Theo·Chan 阅读(1562) 评论(0) 推荐(0)
摘要: 默认值 解析消息时,如果编码的消息不包含特定的单数元素,则解析对象中的相应字段将设置为该字段的默认值。这些默认值是特定于类型的: string:默认值为空字符串 bytes:默认值为空字节 boolean:默认值为false 数值类型:默认值为0 枚举:默认值为第一个定义的枚举值,该值必须是0 消息 阅读全文
posted @ 2021-01-13 17:10 Theo·Chan 阅读(1207) 评论(0) 推荐(0)
摘要: 标量值类型 标量消息字段可以具有以下类型之一 —— 下表显示了.proto文件中指定的类型,以及自动生成的类中相应的类型: .proto Type 说明 C++ Type Java Type Python Type[2] Go Type Ruby Type C# Type PHP Type Dart 阅读全文
posted @ 2021-01-13 16:54 Theo·Chan 阅读(492) 评论(0) 推荐(0)
摘要: 定义消息类型 首先让我们看一个非常简单的例子。假设您想定义一个搜索请求消息格式,其中每个搜索请求都有一个查询字符串、您感兴趣的特定结果页以及每页的结果数。下面是用于定义.proto消息类型的文件。 syntax = "proto3"; message SearchRequest { string q 阅读全文
posted @ 2021-01-13 16:34 Theo·Chan 阅读(905) 评论(0) 推荐(0)
摘要: Language Guide (proto3) | gRPC proto3 语言指南-开篇 gRPC:一个高性能、开源的通用RPC框架,它可以使用Protobuf定义服务 Protobuf:协议缓冲区是一种与语言无关、与平台无关的可扩展机制,用于序列化结构化的数据(参考JSON) proto3:proto是一种语言规范,Protobuf就遵循这种语言规范,目前最高版本是proto3 阅读全文
posted @ 2021-01-13 15:37 Theo·Chan 阅读(635) 评论(0) 推荐(0)
摘要: Quartz.Net 组件的封装使用 Quartz.Net是面向.NET的一款功能齐全的开源作业调度组件,你可以把它嵌入你的系统中实现作业调度,也可以基于Quartz.Net开发一套完整的作业调度系统。它既支持简单的timer,也支持灵活强大的corn表达式。本文提供了一种把Quartz.Net嵌入 阅读全文
posted @ 2021-01-13 14:38 Theo·Chan 阅读(1728) 评论(2) 推荐(1)