Jan Tattermusch 5ffb4c33dc Include grpc_csharp_ext.dll only under Windows 11 tahun lalu
..
Grpc.Core 5ffb4c33dc Include grpc_csharp_ext.dll only under Windows 11 tahun lalu
Grpc.Core.Tests 5b141669e6 Added some measurement numbers to comments. 11 tahun lalu
Grpc.Examples babfd91e4a Rename Grpc.Api to Grpc.Examples 11 tahun lalu
Grpc.Examples.MathClient 92aa11dff6 renamed MathClient -> Grpc.Examples.MathClient 11 tahun lalu
Grpc.Examples.Tests babfd91e4a Rename Grpc.Api to Grpc.Examples 11 tahun lalu
Grpc.IntegrationTesting 50faa8f78b Added support for true synchronous unary call and added some performance tests. 11 tahun lalu
ext 5339814591 Added ability for c# to redirect C core logs to arbitrary sink 11 tahun lalu
.gitignore 860f6d0820 started using nuget packages for dependencies 11 tahun lalu
EXPERIMENTAL-ONLY b2d4b8399a Added EXPERIMENTAL-ONLY disclaimer file 11 tahun lalu
Grpc.nuspec 4e40db0e46 added NuGet package specifications 11 tahun lalu
Grpc.sln 92aa11dff6 renamed MathClient -> Grpc.Examples.MathClient 11 tahun lalu
README.md 01829813b8 update README file 11 tahun lalu

README.md

gRPC C#

A C# implementation of gRPC.

Status

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# extension library (that will be used via P/Invoke from C#).

    make grpc_csharp_ext
    sudo make install_grpc_csharp_ext
    
  • 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 Grpc.Core.Tests.dll
    

CONTENTS

  • ext: The extension library that wraps C API to be more digestible by C#.
  • Grpc.Core: The main gRPC C# library.
  • Grpc.Examples: API examples for math.proto
  • Grpc.Examples.MathClient: An example client that sends some requests to math server.
  • Grpc.IntegrationTesting: Client for cross-language gRPC implementation testing (interop testing).