C#中使用gRPC
来源:互联网 发布:Python脚本做压力测试 编辑:程序博客网 时间:2024/06/05 15:33
由于有NuGet,使得C#在配置项目时非常简单。
1. 在NuGet中添加ProtocolBuffer和gRPC引用
protocol buffer 3.0版本,在NuGet插件界面选择Include Prerelease,查找google protocol buffer。
如果不选择include rerelease,查找到的protocol buffer是2.4的,无法编译通过gRPC的example。
2. 定义proto
设计proto协议文件,包括服务协议和数据。gRPC必须使用protocol buffer3.0版本,所以syntax
设置为proto3
。
Greeter是服务名称
HelloRequest是请求数据
HelloReply是回复数据
syntax = "proto3";option java_multiple_files = true;option java_package = "io.grpc.examples.helloworld";option java_outer_classname = "HelloWorldProto";option objc_class_prefix = "HLW";package helloworld;// The greeting service definition.service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {}}// The request message containing the user's name.message HelloRequest { string name = 1;}// The response message containing the greetingsmessage HelloReply { string message = 1;}
3. 生成proto访问类
定义proto文件后,通过protocol buffer3.0提供的protoc.exe工具生成访问类。这里使用gRPC定义的protoc的C#插件grpc_csharp_plugin.exe,而不是使用protoGen.exe。
将以下几个文件放在同一个文件夹中:
grpc_csharp_plugin.exehelloworld.protoprotoc.exe
创建一个bat文件,编写如下命令行:
protoc.exe -I=. --csharp_out=. --grpc_out=. --plugin=protoc-gen-grpc=grpc_csharp_plugin.exe helloworld.proto
执行bat文件,得到proto的访问类:
helloworld.cshelloworldGrpc.cs
4. 创建C#项目
将两个访问类文件添加到C#项目中,将gRPC的C# example拷贝到Program.cs中,编译通过。
原文地址:http://www.cnblogs.com/polinzhuo/p/5326801.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
阅读全文
0 0
- C#中使用gRPC
- C# 使用 grpc
- c#使用grpc
- 在C#中使用gRPC及protobuf简介
- Kubernetes编排工具-helm中使用grpc
- java中使用grpc和protobuf
- 在python中使用grpc和protobuf
- gRPC C#学习
- 在C++中使用gRPC编程(1-环境搭建)
- 在一个maven项目中从头到尾grpc的使用
- gRPC使用的分析
- vs2015编译使用GRPC
- 使用Go开发gRPC
- golang gRPC使用
- 【JAVA】gRPC使用
- Unity2017可以使用grpc
- gRPC的使用(cpp)
- Grpc使用实践总结
- 常用API接口签名验证参考
- 微软官方caffe之 matlab接口配置
- 漫谈C#编程语言在游戏领域的应用
- .NET Core 跨平台发布(dotnet publish)
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
- C#中使用gRPC
- 关于《在Windows与.NET平台上的持续交付实践》的问答录
- 如何使 WebAPI 自动生成漂亮又实用在线API文档
- 官方博客明确了 .NET Core RC2/RTM 时间表
- form表单的target属性
- .NET Core VS Code 环境配置
- 在ThoughtWorks工作12年的技术主管,所总结的12条技术人经验
- spring各jar包功能【整理】
- 第四篇 Entity Framework Plus 之 Batch Operations