How app-vnext/polly-samples works
Polly-Samples is a set of .NET applications and reusable demos that teach Polly resilience strategies against a faulting Web API. Users select a demo in either client; the demo executes HTTP or Entity Framework operations under strategies and reports progress and statistics. The graph preserves the documented retry, circuit-breaker, fallback, timeout, concurrency, hedging, and EF examples. Relationships for unsampled demo implementations are limited to README-documented capabilities; sampled source shows pipeline execution, API requests, and EF configuration.
Main entry points: Program.cs Console client · DemoBase.cs Demo base · DemoProgress.cs Progress reporting · ValuesController.cs Faulting Web API
Components 24
Demo clients
- Console client
PollyTestClientConsole/Program.cs - Console menu
PollyTestClientConsole/Menu/ConsoleMenu.cs - WPF client
PollyTestClientWpf/MainWindow.xaml.cs
Resilience demos
- Retry examples
PollyDemos/Demo01_RetryNTimes.cs - Breaker pipelines
PollyDemos/Demo07_WaitAndRetryNestingCircuitBreakerUsingPipeline.cs - Fallback timeout
PollyDemos/Demo09_Pipeline-Fallback-Timeout-WaitAndRetry.cs - Concurrency limits
PollyDemos/Demo10_SharedConcurrencyLimiter.cs - Concurrency requests
PollyDemos/Helpers/ConcurrencyLimiterDemoBase.cs - Hedging examples
PollyDemos/Demo12_LatencyHedging.cs - EF retry demo
PollyDemos/Demo16_EntityFramework-WithRetryNTimes.cs - Polly execution strategy
PollyDemos/EntityFramework/PollyExecutionStrategy.cs - Strategy factory
PollyDemos/EntityFramework/PollyExecutionStrategyFactory.cs - Todo context
PollyDemos/EntityFramework/TodoDbContext.cs - Todo entity
PollyDemos/EntityFramework/TodoItem.cs
Demo support
- Demo base
PollyDemos/Helpers/DemoBase.cs - API configuration
PollyDemos/Helpers/Configuration.cs - Progress reporting
PollyDemos/OutputHelpers/DemoProgress.cs - Colored messages
PollyDemos/OutputHelpers/ColoredMessage.cs - Statistics
PollyDemos/OutputHelpers/Statistic.cs - Color values
PollyDemos/OutputHelpers/Color.cs
Example services
- Faulting Web API
PollyTestWebApi/Controllers/ValuesController.cs - API host
PollyTestWebApi/Program.cs - EF in-memory store
Other components
- Demo user
Connections 31
- Demo user → Console client: selects demo
README.md - Demo user → WPF client: selects demo
README.md - Console client → Console menu: runs menu
PollyTestClientConsole/Program.cs - Console client → Retry examples: invokes demos
PollyTestClientConsole/Program.cs - Console client → Breaker pipelines: invokes demos
PollyTestClientConsole/Program.cs - Console client → Fallback timeout: invokes demos
PollyTestClientConsole/Program.cs - Console client → Concurrency limits: invokes demos
PollyTestClientConsole/Program.cs - Console client → Hedging examples: invokes demos
PollyTestClientConsole/Program.cs - Console client → EF retry demo: invokes demo
PollyTestClientConsole/Program.cs - WPF client → Demo base: runs demos
PollyTestClientWpf/MainWindow.xaml.cs - Retry examples → Demo base: extends
PollyDemos/Demo01_RetryNTimes.cs - Breaker pipelines → Demo base: extends
PollyDemos/Demo07_WaitAndRetryNestingCircuitBreakerUsingPipeline.cs - Breaker pipelines → Faulting Web API: requests values
README.md - Fallback timeout → Faulting Web API: requests values
PollyDemos/Demo09_Pipeline-Fallback-Timeout-WaitAndRetry.cs - Concurrency limits → Concurrency requests: uses request helpers
PollyDemos/Demo10_SharedConcurrencyLimiter.cs - Concurrency requests → API configuration: reads API root
PollyDemos/Helpers/ConcurrencyLimiterDemoBase.cs - Concurrency requests → Faulting Web API: requests routes
PollyDemos/Helpers/ConcurrencyLimiterDemoBase.cs - Hedging examples → Faulting Web API: calls faulting API
README.md - EF retry demo → Todo context: uses context
PollyDemos/Demo16_EntityFramework-WithRetryNTimes.cs - Todo context → Strategy factory: registers factory
PollyDemos/EntityFramework/TodoDbContext.cs - Strategy factory → Polly execution strategy: creates strategy
PollyDemos/EntityFramework/PollyExecutionStrategyFactory.cs - Todo context → Todo entity: exposes set
PollyDemos/EntityFramework/TodoDbContext.cs - Todo context → EF in-memory store: configures store
PollyDemos/EntityFramework/TodoDbContext.cs - Demo base → API configuration: uses API root
PollyDemos/Helpers/DemoBase.cs - Demo base → Progress reporting: creates progress
PollyDemos/Helpers/DemoBase.cs - Progress reporting → Colored messages: contains messages
PollyDemos/OutputHelpers/DemoProgress.cs - Progress reporting → Statistics: carries statistics
PollyDemos/OutputHelpers/DemoProgress.cs - Colored messages → Color values: uses color
PollyDemos/OutputHelpers/ColoredMessage.cs - Console client → Progress reporting: renders reports
PollyTestClientConsole/Program.cs - WPF client → Progress reporting: renders reports
PollyTestClientWpf/MainWindow.xaml.cs - API host → Faulting Web API: hosts controller