Yang Gao 0fff02c3ba Merge pull request #1472 from ctiller/bye-bye-completion-queue-pie 11 年 前
..
Grpc.Auth 818ae164eb get rid of unneeded dependency on Mono.Security 11 年 前
Grpc.Core 0fff02c3ba Merge pull request #1472 from ctiller/bye-bye-completion-queue-pie 11 年 前
Grpc.Core.Tests cc82be534e Merge github.com:grpc/grpc into bye-bye-completion-queue-pie 11 年 前
Grpc.Examples 1c51f550de Merge branch 'master' of github.com:grpc/grpc into csharp_cleanup 11 年 前
Grpc.Examples.MathClient 085533e1dc Replace handwritten math stub by the generated one 11 年 前
Grpc.Examples.MathServer 085533e1dc Replace handwritten math stub by the generated one 11 年 前
Grpc.Examples.Tests 1c51f550de Merge branch 'master' of github.com:grpc/grpc into csharp_cleanup 11 年 前
Grpc.IntegrationTesting cd7e3137da add newline to the end of generated files 11 年 前
Grpc.IntegrationTesting.Client dca6e884ce First attempt to add service account creds interop test 11 年 前
Grpc.IntegrationTesting.Server dca6e884ce First attempt to add service account creds interop test 11 年 前
ext 54478f8562 Merge github.com:grpc/grpc into bye-bye-completion-queue-pie 11 年 前
.gitignore a5272b6adc A new version C# API based on async/await 11 年 前
EXPERIMENTAL-ONLY b2d4b8399a Added EXPERIMENTAL-ONLY disclaimer file 11 年 前
Grpc.nuspec e8fef4319c csharp version 0.1 -> 0.2 11 年 前
Grpc.sln bb9d788096 Added Grpc.Auth project 11 年 前
README.md 5cdf37eb7b Removed execute permissions from README files. 11 年 前
Settings.StyleCop 3de9f49e3c Setting up stylecop to ignore generated files and fixing style 11 年 前
generate_proto_csharp.sh efa702bd17 add newline at EOF 11 年 前

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