TCIS.Http.Grpc
1.0.0-rc.9
See the version list below for details.
dotnet add package TCIS.Http.Grpc --version 1.0.0-rc.9
NuGet\Install-Package TCIS.Http.Grpc -Version 1.0.0-rc.9
<PackageReference Include="TCIS.Http.Grpc" Version="1.0.0-rc.9" />
<PackageVersion Include="TCIS.Http.Grpc" Version="1.0.0-rc.9" />
<PackageReference Include="TCIS.Http.Grpc" />
paket add TCIS.Http.Grpc --version 1.0.0-rc.9
#r "nuget: TCIS.Http.Grpc, 1.0.0-rc.9"
#:package TCIS.Http.Grpc@1.0.0-rc.9
#addin nuget:?package=TCIS.Http.Grpc&version=1.0.0-rc.9&prerelease
#tool nuget:?package=TCIS.Http.Grpc&version=1.0.0-rc.9&prerelease
TCIS.Http.Grpc
The core gRPC library for the TCIS ecosystem, supporting automatic Context Propagation (IWorkContext) via Metadata (Headers) on both the Server (receiving requests) and Client (sending requests). It integrates basic Load Balancing and Resilience (Polly) when calling gRPC Services.
📦 Installation
dotnet add package TCIS.Http.Grpc
🚀 Usage
1. Register gRPC Server (Program.cs)
Automatically extracts TenantId, User, CorrelationId... from Metadata (sent by the Client) and attaches them to IWorkContext.
using TCIS.Http.Grpc.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Register Server, automatically injects TGrpcServerInterceptor to extract Context
builder.Services.AddTGrpcServer();
var app = builder.Build();
app.MapGrpcService<MyGrpcService>();
app.Run();
2. Register gRPC Client (Program.cs)
When the Server needs to make a gRPC call to another Microservice, the current IWorkContext information is automatically propagated via TGrpcClientInterceptor.
using TCIS.Http.Grpc.Extensions;
var builder = WebApplication.CreateBuilder(args);
// Register GrpcClient to call directly with a fixed Address
builder.Services.AddTGrpcClient<MyService.MyServiceClient>("https://localhost:5001");
// OR: Register multiple clients simultaneously via `appsettings.json` configuration
var clients = new Dictionary<string, Type>
{
{ "MyService", typeof(MyService.MyServiceClient) }
};
builder.Services.AddTGrpcClients(builder.Configuration, clients);
3. gRPC Client Configuration in appsettings.json
Used with the AddTGrpcClients method:
{
"GrpcConfigs": {
"MyService": {
"Url": "https://localhost:5001"
}
}
}
⚙️ Core Components
AddTGrpcServer: ConfiguresGrpcServiceOptionsand addsTGrpcServerInterceptor.AddTGrpcClient<TClient>: ConfiguresGrpcClientwithRoundRobinLoad Balancing if usingconsul://,k8s://,dns://schemes, and addsTGrpcClientInterceptoralong with Resilience.AddTGrpcClients: A manager for initializing multiple gRPC clients based onappsettings.json.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- FluentValidation (>= 11.11.0)
- FluentValidation.AspNetCore (>= 11.3.0)
- FluentValidation.DependencyInjectionExtensions (>= 11.11.0)
- Google.Protobuf (>= 3.28.2)
- Grpc.AspNetCore (>= 2.66.0)
- Grpc.Net.Client (>= 2.66.0)
- Grpc.Net.ClientFactory (>= 2.66.0)
- Grpc.Tools (>= 2.66.0)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 9.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Http (>= 9.0.0)
- Microsoft.Extensions.Http.Resilience (>= 9.1.0)
- Microsoft.Extensions.Logging (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Options (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
- Polly (>= 8.5.1)
- TCIS.AspNetCore (>= 1.0.0-rc.9)
- TCIS.Http (>= 1.0.0-rc.9)
- TCIS.Logging (>= 1.0.0-rc.9)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on TCIS.Http.Grpc:
| Package | Downloads |
|---|---|
|
TCIS.Http.Grpc.Consul
TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Consul service discovery and load balancing for gRPC clients. |
|
|
TCIS.Http.Grpc.Kubernetes
TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. Kubernetes Endpoints API service discovery and load balancing for gRPC clients. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-rc.11 | 41 | 7/28/2026 |
| 1.0.0-rc.10 | 60 | 7/24/2026 |
| 1.0.0-rc.9 | 54 | 7/21/2026 |
| 1.0.0-rc.8 | 59 | 7/21/2026 |
| 1.0.0-rc.7 | 55 | 7/17/2026 |
| 1.0.0-rc.6 | 71 | 7/7/2026 |
| 1.0.0-rc.5 | 73 | 7/7/2026 |
| 1.0.0-rc.4 | 71 | 6/24/2026 |
| 1.0.0-rc.2 | 66 | 5/12/2026 |
| 1.0.0-rc.1 | 64 | 5/12/2026 |