A hands-on training showing how to design, implement, test, and operate high-quality HTTP, streaming, and event-driven services with ASP.NET Core 10 and the .NET 10 stack including Aspire.
Programming Services with ASP.NET Core
Modern distributed applications need clearly defined service boundaries, robust communication patterns, and a reliable foundation for security, observability, scalability, and deployment. This hands-on training shows how to design, implement, test, and operate high-quality HTTP, streaming, and event-driven services with ASP.NET Core 10 and the .NET 10 stack (including Aspire)—on-premises or in cloud environments (Azure, Kubernetes, container platforms).
You will learn REST, gRPC, SignalR, event and background processing scenarios as well as production-ready aspects such as authentication, authorization, rate limiting, resilience, telemetry, and performance tuning (Native AOT, trimming, profile-guided optimization).
Contents
1. Architecture & Fundamentals
- Service boundary, monolith vs microservices vs modular monoliths
- Synchronous vs asynchronous, API vs events
- API gateway / reverse proxy (YARP) vs internal service discovery
2. Aspire Integration
- AppHost: composition, resources & references
- ServiceDefaults: health checks, OpenTelemetry, structured logs
- Local orchestration versus production deployment
- Integrating external resources (databases, caches, messaging)
3. REST & HTTP APIs
- Resource model, CRUD + specialized actions
- Error design (Problem Details), pagination, search patterns, ETags
- Versioning (URL / header / media type), deprecation notices
- OpenAPI 3.1: documentation, contract-first, code generation
- Filters, endpoint groups, binding, validation (FluentValidation / DataAnnotations)
4. Data Access & Persistence
- Entity Framework Core best practices (context lifetime, migration strategy)
- DDD aggregates vs anemic model
- Transactions & outbox pattern for reliable event publication
- Query optimization, caching (in-memory, distributed Redis), projections
5. Security
- Authentication: OpenID Connect / OAuth2, Entra ID, Keycloak alternatives
- Authorization: policies, claims, resource-based rules
- Protections: rate limiting, anti-forgery, input/output validation, security headers
- Secrets & configuration: user secrets, Azure Key Vault, least privilege
6. Real-time & Streaming
- SignalR: hub design, scaling (backplane, Redis)
- Server-Sent Events & WebSockets use cases
- gRPC: unary, server/client streaming, bidirectional, Protobuf design guidelines
- HTTP/3 & QUIC benefits for latency and reliability
7. Asynchronous & Event-Driven Communication
- Message broker patterns (Azure Service Bus / RabbitMQ / Kafka)
- Event sourcing vs classic persistence
- Saga / process orchestration vs choreography
- Dead-letter handling, retries, resilience policies (Polly)
8. Observability & Diagnostics
- OpenTelemetry setup (TracerProvider, MeterProvider)
- Correlating HTTP, gRPC, messaging spans
- Structured logs (JSON), Serilog / ILogger concepts
- Metrics: throughput, error rates, SLA / SLO / error budget
- Dashboards: Aspire dashboard, Grafana, Azure Monitor / Application Insights
9. Performance & Resilience
- Caching strategies (response, data, hybrid)
- Impact of Native AOT & trimming on reflection / DI
- Profile Guided Optimization (PGO) usage
- Minimizing allocations (Span, source generators)
- Resource limits & rate limiting, circuit breaker, bulkhead
10. Quality & Testing
- Test pyramid: unit, integration, contract (OpenAPI/gRPC), end-to-end
- Load & stress testing (k6, Locust), chaos engineering basics
- Static analysis: analyzers, Roslyn, security scans
11. Deployment & DevOps
- Containerization: multi-stage Docker, security hardening
- Platforms: Azure Container Apps, Kubernetes (AKS), App Service
- CI/CD: GitHub Actions / Azure DevOps pipelines, environments, rollbacks
- Progressive delivery: canary, blue-green, feature flags
- Deployment with Aspire
12. Advanced Topics
- API gateway / YARP configuration, transforms & load balancing
- Source generators for DTO / mapping / DI registrations
- Integrating AI agents (Microsoft Agent Toolkit)
- Migrating legacy services to modern Minimal API / Aspire structure