gRPC C#
A C# implementation of gRPC, Google's RPC library.
EXPERIMENTAL ONLY
This gRPC C# implementation is work-in-progress and is not expected to work yet.
- The implementation is a wrapper around gRPC C core library
- Code only runs under mono currently, building gGRPC C core library under Windows is in progress.
- It is very possible that some parts of the code will be heavily refactored or completely rewritten.
INSTALLATION AND USAGE: WINDOWS
- Open Grpc.sln using Visual Studio 2013. NuGet dependencies will be restored upon build.
INSTALLATION AND USAGE: LINUX & MONO
- Compile and install the gRPC C Core library
make shared_c
sudo make install
- Prerequisites for development: Mono framework, MonoDevelop (IDE)
sudo apt-get install mono-devel
sudo apt-get install monodevelop monodevelop-nunit
sudo apt-get install nunit nunit-console
- NuGet is used to manage project's dependencies. Prior opening Grpc.sln, download dependencies using NuGet restore command:
# Import needed certicates into Mono certificate store:
mozroots --import --sync
# Download NuGet.exe http://nuget.codeplex.com/releases/
# Restore the nuget packages with Grpc C# dependencies
mono ~/Downloads/NuGet.exe restore Grpc.sln
-
Use MonoDevelop to open the solution Grpc.sln (you can also run unit tests from there).
-
After building the solution with MonoDevelop, you can use nunit-console to run the unit tests (currently only running one by one will make them pass.
nunit-console GrpcCoreTests.dll
CONTENTS
- ext: The extension library that wraps C API to be more digestible by C#.
- GrpcApi: API examples for math.proto and testservice.proto
- GrpcCore: The main gRPC C# library.
- InteropClient: Client for interop testing.
- MathClient: An example client that sends some requests to math server.