Using gRPC in C#

黄舟
Release: 2017-02-07 16:52:04
Original
4500 people have browsed it

Due to NuGet, C# is very simple to configure the project.

1. Add ProtocolBuffer and gRPC reference in NuGet

protocol buffer 3.0 version, select Include Prerelease in the NuGet plug-in interface, and look for google protocol buffer.
If you do not select include rerelease, the protocol buffer found is 2.4 and cannot be compiled

2. Define proto

Design proto protocol file, including service agreement and data. gRPC must use protocol buffer3.0 version, so syntax is set to proto3.
Greeter is the service name
HelloRequest is the request data
HelloReply is the reply data

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;
}
Copy after login

3. Generate proto access class

After defining the proto file, pass protocol buffer3.0 The provided protoc.exe tool generates access classes. Here, the C# plug-in grpc_csharp_plugin.exe of protoc defined by gRPC is used instead of protoGen.exe.
Put the following files in the same folder:

grpc_csharp_plugin.exehelloworld.protoprotoc.exe
Copy after login

Create a bat file and write the following command line:

protoc.exe -I=. --csharp_out=. --grpc_out=. --plugin=protoc-gen-grpc=grpc_csharp_plugin.exe helloworld.proto
Copy after login

Execute the bat file and get the access class of proto:

helloworld.cshelloworldGrpc.cs
Copy after login

4. Create a C# project

Add two access class files to the C# project, copy the C# example of gRPC to Program.cs, and compile it successfully.

The above is the content of using gRPC in C#. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!