Welcome to Building Modern Web Services with ASP.NET Core and .NET 10 at TH Rosenheim.
This hands-on course teaches modern web service development using the latest .NET technology stack. Over 5 intensive workshop days, we will cover the ground of many relevant topics while developing webservices. The knowledge that you will gain is not limited to the .NET world.
- Minimal APIs with route groups, TypedResults, and built-in OpenAPI
- Entity Framework Core 10 with PostgreSQL
- .NET Aspire for cloud-native orchestration and observability
- Authentication & Authorization with Keycloak and JWT
- HybridCache, SignalR, Polly v8 Resilience, and Background Services
- Integration Testing with Testcontainers
- Vertical Slice Architecture with MediatR/CQRS
- Actor Frameworks like Akka.NET
| Date | Topic | |
|---|---|---|
| ✅ Workshop Day 1 | 2026-03-20, 8:30 | Foundations: Minimal APIs & Dependency Injection |
| ✅ Workshop Day 2 | 2026-03-21, 8:30 | Data Access, Validation & Error Handling |
| 👉 Workshop Day 3 | 2026-04-11, 8:30 | .NET Aspire, Authentication & Architecture |
| ⏳ Workshop Day 4 | 2026-04-25, 8:30 | Caching, Real-time, Resilience & Background Processing |
| ⏳ Workshop Day 5 | 2026-05-09, 8:30 | Testing, Versioning, Observability |
| 👀 Exam | 2026-06-13, 8:30 | Exam Information |
Each workshop day includes a hands-on lab with starter code and a reference solution:
| Lab | Day | Topic |
|---|---|---|
| Lab: Build the Events API | Day 1 | Minimal APIs, OpenAPI, Scalar |
| Lab: Persist & Validate TechConf | Day 2 | EF Core 10, FluentValidation, Problem Details |
- .NET 10 SDK (download)
- Visual Studio 2025 or Visual Studio Code with C# Dev Kit
- Docker Desktop (download) — required for .NET Aspire, PostgreSQL, Redis, Keycloak
- Git for version control
# Clone the repository
git clone https://github.com/florianwachs/AspNetWebservicesCourse.git
cd AspNetWebservicesCourse
# Verify .NET 10 SDK
dotnet --version
# Verify Docker
docker --version💡 Tip: This repository includes a Dev Container configuration. Open in VS Code or GitHub Codespaces for a pre-configured environment.
If you use the dev container, it will automatically install dotnet-ef. You can verify with:
dotnet ef --versionWhen a lab or demo needs PostgreSQL, start it manually from inside the dev container:
docker run --rm -d \
--name techconf-db \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=techconf \
-e POSTGRES_DB=techconfdb \
-p 5432:5432 \
postgres:latestStop it again with docker stop techconf-db.
Working through preparation material is not required — we'll learn the necessary C# knowledge together. But if you'd like to learn at your own pace:
| Resource | Link |
|---|---|
| C# Course (Microsoft + FreeCodeCamp) | https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/ |
| Official C# Documentation | https://docs.microsoft.com/en-us/dotnet/csharp/ |
| C# Cheat Sheet | cheatsheets/csharp-cheat-sheet.md |
| Video Courses | C# for Beginners, Nick Chapsas, Milan Jovanović |
| Microsoft Learn C# Path | https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/ |
- C# 13 Cheat Sheet
- Day 1 API Essentials Cheat Sheet
- Day 2 Persistence, Validation & Error Handling Cheat Sheet
- Repository Pattern
- Dependency Injection
- Vertical Slice Architecture
- CQRS Pattern
- REST API Guidelines
The exam consists of a project with multiple components. Find details 👉 here.
Important
Be present at the workshop days where progress has to be shown.
Welcome! I'm excited to guide you through modern web service development with .NET. Whether you're coming from other technologies like Java or Node.js, or this is completely new to you, my goal is that everyone can learn and grow from this course.
I highly encourage your active participation — ask questions, provide feedback, and share your ideas. There are no "stupid questions". If you get stuck on a problem, need help with your project, or need any support, please let me know.
Feel free to point out anything I can do to improve your learning journey!
This course material is provided for educational purposes at TH Rosenheim.