grpc-client
CommunityReliably call external gRPC services with retry.
Software Engineering#microservices#dotnet#grpc#retry#processor#dependency-injection#external-services
AuthorFaysilAlshareef
Version1.0.0
Installs0
System Documentation
What problem does it solve?
Cross-service gRPC calls in processor workloads are brittle when endpoints are dynamic and retry behavior is ad-hoc. This skill provides a robust pattern to configure gRPC clients at runtime, resolve addresses from configuration, and implement a deterministic retry strategy without relying on Polly.
Core Features & Use Cases
- Runtime-resolved gRPC client addresses via DI-based options
- AddGrpcClient registrations that use a (provider, configure) callback to set the service address at runtime
- ExternalServicesOptions with [Required, Url]-validated endpoints for each gRPC service
- IRetryCallerService and RetryCallerService implementing a custom retry loop that handles RpcException and StatusCode values
- Idempotent handling of AlreadyExists to support safe replays in event-driven handlers
- Simple DI wiring to inject typed gRPC clients into MediatR or processors
- Use Case: cross-service commands or queries in a processor that must retry on transient failures
Quick Start
Configure ExternalServicesOptions, register gRPC clients with AddGrpcClient using a provider callback, and inject the typed clients into handlers to perform cross-service calls.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: grpc-client Download link: https://github.com/FaysilAlshareef/dotnet-ai-kit/archive/main.zip#grpc-client Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.