The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Jan Tattermusch 1c51f550de Merge branch 'master' of github.com:grpc/grpc into csharp_cleanup 10 years ago
..
Grpc.Auth get rid of unneeded dependency on Mono.Security 10 years ago
Grpc.Core Split address passed to AddListeningPort into host and port 10 years ago
Grpc.Core.Tests Split address passed to AddListeningPort into host and port 10 years ago
Grpc.Examples Merge branch 'master' of github.com:grpc/grpc into csharp_cleanup 10 years ago
Grpc.Examples.MathClient Replace handwritten math stub by the generated one 10 years ago
Grpc.Examples.MathServer Replace handwritten math stub by the generated one 10 years ago
Grpc.Examples.Tests Merge branch 'master' of github.com:grpc/grpc into csharp_cleanup 10 years ago
Grpc.IntegrationTesting add newline to the end of generated files 10 years ago
Grpc.IntegrationTesting.Client First attempt to add service account creds interop test 10 years ago
Grpc.IntegrationTesting.Server First attempt to add service account creds interop test 10 years ago
ext Fixes for C# cancellation support 10 years ago
.gitignore A new version C# API based on async/await 10 years ago
EXPERIMENTAL-ONLY Added EXPERIMENTAL-ONLY disclaimer file 10 years ago
Grpc.nuspec csharp version 0.1 -> 0.2 10 years ago
Grpc.sln Added Grpc.Auth project 10 years ago
README.md Removed execute permissions from README files. 10 years ago
Settings.StyleCop Setting up stylecop to ignore generated files and fixing style 10 years ago
generate_proto_csharp.sh add newline at EOF 10 years ago

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 gRPC 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).