grpc-client

Community

Reliably call external gRPC services with retry.

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 required

Components

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.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.