Jan Tattermusch 1d88979a57 Delete TestResult.xml пре 9 година
..
Grpc.Auth e2b2c8e193 update nugets in csproj projects пре 9 година
Grpc.Core c9b03fe987 expose AuthContext in C# пре 9 година
Grpc.Core.Testing 2b2723bbce add C# testing APIs пре 9 година
Grpc.Core.Tests 1d88979a57 Delete TestResult.xml пре 9 година
Grpc.Examples 18f8acf617 Merge pull request #10004 from dgquintas/1.1.x_to_master_again пре 9 година
Grpc.Examples.MathClient e7f0b8579b use grpc_csharp_ext built by cmake пре 9 година
Grpc.Examples.MathServer e7f0b8579b use grpc_csharp_ext built by cmake пре 9 година
Grpc.Examples.Tests e2b2c8e193 update nugets in csproj projects пре 9 година
Grpc.HealthCheck 18f8acf617 Merge pull request #10004 from dgquintas/1.1.x_to_master_again пре 9 година
Grpc.HealthCheck.Tests e2b2c8e193 update nugets in csproj projects пре 9 година
Grpc.IntegrationTesting 18f8acf617 Merge pull request #10004 from dgquintas/1.1.x_to_master_again пре 9 година
Grpc.IntegrationTesting.Client 1293cbc153 remove unneeded dependencies пре 9 година
Grpc.IntegrationTesting.QpsWorker a3d87cad7e fix C# nuget restore пре 9 година
Grpc.IntegrationTesting.Server 1293cbc153 remove unneeded dependencies пре 9 година
Grpc.IntegrationTesting.StressClient a3d87cad7e fix C# nuget restore пре 9 година
Grpc.Reflection 18f8acf617 Merge pull request #10004 from dgquintas/1.1.x_to_master_again пре 9 година
Grpc.Reflection.Tests e2b2c8e193 update nugets in csproj projects пре 9 година
doc 12855fc682 polishing public docs пре 10 година
ext c9b03fe987 expose AuthContext in C# пре 9 година
keys ecb02be1ea include assembly signing key in the repo пре 10 година
.gitignore ec4359ddc1 add support for CoreCLR пре 9 година
Grpc.Dotnet.sln 0201776d29 add C# server reflection пре 9 година
Grpc.Tools.nuspec 82b64d1565 change back slashes to forward slashes in grpc.tool nuspec пре 9 година
Grpc.nuspec 48f7ed4442 pick up nuget package version from cmdline param and fix nuget build пре 10 година
Grpc.sln 2b2723bbce add C# testing APIs пре 9 година
README.md e00d63f3ea Merge remote-tracking branch 'google/v1.1.x' пре 9 година
Settings.StyleCop 3de9f49e3c Setting up stylecop to ignore generated files and fixing style пре 11 година
build_packages_dotnetcli.bat 2b2723bbce add C# testing APIs пре 9 година
build_packages_dotnetcli.sh 2b2723bbce add C# testing APIs пре 9 година
generate_proto_csharp.sh 091057a4e5 fix proto import paths for C# where possible пре 9 година
tests.json 93c8951695 NUnitVersion tests no longer needed пре 9 година

README.md

Nuget

gRPC C#

A C# implementation of gRPC.

SUPPORTED PLATFORMS

  • .NET Core on Linux, Windows and Mac OS X
  • .NET Framework 4.5+ (Windows)
  • Mono 4+ on Linux, Windows and Mac OS X

PREREQUISITES

When using gRPC C# under .NET Core you only need to install .NET Core.

  • Windows: .NET Framework 4.5+, Visual Studio 2013 or 2015
  • Linux: Mono 4+, MonoDevelop 5.9+ (with NuGet add-in installed)
  • Mac OS X: Xamarin Studio 5.9+

HOW TO USE

Windows, Linux, Mac OS X

  • Open Visual Studio / MonoDevelop / Xamarin Studio and start a new project/solution.

  • Add the Grpc NuGet package as a dependency (Project options -> Manage NuGet Packages).

  • To be able to generate code from Protocol Buffer (.proto) file definitions, add the Grpc.Tools NuGet package that contains Protocol Buffers compiler (protoc) and the gRPC protoc plugin.

BUILD FROM SOURCE

You only need to go through these steps if you are planning to develop gRPC C#. If you are a user of gRPC C#, go to Usage section above.

Windows, Linux or Mac OS X

  • The easiest way to build is using the run_tests.py script that will take care of building the grpc_csharp_ext native library:

    # from the gRPC repository root
    $ python tools/run_tests/run_tests.py -c dbg -l csharp --build_only
    
  • Use Visual Studio / MonoDevelop / Xamarin Studio to open the solution Grpc.sln

RUNNING TESTS

gRPC C# is using NUnit as the testing framework.

Under Visual Studio, make sure NUnit test adapter is installed (under "Extensions and Updates"). Then you should be able to run all the tests using Test Explorer.

Under Monodevelop or Xamarin Studio, make sure you installed "NUnit support" in Add-in manager. Then you should be able to run all the test from the Test View.

gRPC team uses a Python script to simplify facilitate running tests for different languages.

tools/run_tests/run_tests.py -l csharp

DOCUMENTATION

PERFORMANCE

For best gRPC C# performance, use .NET Core and the Server GC mode "System.GC.Server": true for your applications.

THE NATIVE DEPENDENCY

Internally, gRPC C# uses a native library written in C (gRPC C core) and invokes its functionality via P/Invoke. The fact that a native library is used should be fully transparent to the users and just installing the Grpc.Core NuGet package is the only step needed to use gRPC C# on all supported platforms.