tree: b44dc5a60d554b77369bb0d2b97be8da0bf1aae0 [path history] [tgz]
  1. .nuget/
  2. Greeter/
  3. GreeterClient/
  4. GreeterServer/
  5. route_guide/
  6. .gitignore
  7. Greeter.sln
  8. README.md
examples/csharp/README.md

gRPC in 3 minutes (C#)

BACKGROUND

For this sample, we've already generated the server and client stubs from helloworld.proto. Example projects depend on NuGet packages Grpc and Google.ProtocolBuffers which have been already added to the project for you.

PREREQUISITES

Windows

  • .NET 4.5+
  • VS 2013 (with NuGet plugin installed)

Linux (Mono)

  • Mono
  • Monodevelop 5.9 with NuGet Add-in installed (older versions might work)

MacOS (Mono)

  • Xamarin Studio (with NuGet plugin installed)

BUILD

Windows

  • Clone this repository.

  • Open solution Greeter.sln with Visual Studio

  • Build the solution (this will automatically download NuGet dependencies)

Linux (Mono)

  • Clone this repository.

  • Install gRPC C Core using instructions in https://github.com/grpc/homebrew-grpc

  • gRPC C# depends on native shared library libgrpc_csharp_ext.so. To make it visible to Mono runtime, follow instructions in Using gRPC C# on Linux

  • Open solution Greeter.sln in MonoDevelop (you need to manually restore dependencies by using mono nuget.exe restore if you don't have NuGet add-in)

  • Build the solution.

MacOS (Mono)

Try it!

  • Run the server

    > cd GreeterServer/bin/Debug
    > GreeterServer.exe
    
  • Run the client

    > cd GreeterClient/bin/Debug
    > GreeterClient.exe
    

You can also run the server and client directly from Visual Studio.

On Linux or Mac, use mono GreeterServer.exe and mono GreeterClient.exe to run the server and client.

Tutorial

You can find a more detailed tutorial in gRPC Basics: C#