http://doc.oschina.net/grpc?t=60132
gRPC 基础: C#
本教程提供了 C# 程序员如何使用 gRPC 的指南。
通过学习教程中例子,你可以学会如何:
- 在一个 .proto 文件内定义服务。
- 用 protocol buffer 编译器生成服务器和客户端代码。
- 使用 gRPC 的 C# API 为你的服务实现一个简单的客户端和服务器。
假设你已经阅读了概览并且熟悉protocol buffers。 注意,教程中的例子使用的是 protocol buffers 语言的 proto3 版本,它目前只是 alpha 版:可以在 proto3 语言指南和 protocol buffers 的 Github 仓库的版本注释发现更多关于新版本的内容。
这算不上是一个在 C# 中使用 gRPC 的综合指南:以后会有更多的参考文档。
为什么使用 gRPC?
我们的例子是一个简单的路由映射的应用,它允许客户端获取路由特性的信息,生成路由的总结,以及交互路由信息,如服务器和其他客户端的流量更新。
有了 gRPC, 我们可以一次性的在一个 .proto 文件中定义服务并使用任何支持它的语言去实现客户端和服务器,反过来,它们可以在各种环境中,从Google的服务器到你自己的平板电脑—— gRPC 帮你解决了不同语言间通信的复杂性以及环境的不同。使用 protocol buffers 还能获得其他好处,包括高效的序列号,简单的 IDL 以及容易进行的接口更新。
例子代码和设置
教程的代码在这里 grpc/grpc/examples/cpp/route_guide. 要下载例子,请通过运行下面的命令去克隆grpc
代码库:
$ git clone https://github.com/grpc/grpc.git
本教程的所有文件都在examples/csharp/route_guide
目录下。 从 Visual Studio (或者 Linux 上的 Monodevelop)打开解决方案 examples/csharp/route_guide/RouteGuide.sln
。
如果系统是Windows,除了打开解决方案文件之外,你应当不用多做任何事情。所有你需要的依赖都会在都会在构建解决方案的过程中通过 Grpc
NuGet 包自动恢复。
如果系统是 Linux 或者 Mac OS X,为了生成服务器和客户端接口代码,运行例子,你首先需要安装 protobuf 和 gRPC 的 C# 原生依赖。请查看如何使用指令的文档。