Web Development · WDC-01-07

Advanced ASP.NET Core 10

Advanced ASP.NET Core 10 is an advanced course in building enterprise web applications on .NET 10, covering advanced EF Core 10, gRPC, SignalR, background processing, security, caching, OpenTelemetry and integration testing. It suits developers who have already used ASP.NET Core and teams planning to move older systems off Web Forms.

Updated
From 6,750 THB / person 7,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration18 hours · 3 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Enterprise web applications must do more than show pages and save data. They must serve many users quickly, connect reliably to other systems, update in real time, run heavy work in the background without making users wait, protect sensitive data and tell the team at once when something goes wrong. ASP.NET Core on .NET 10, a long-term support release, has the tools for all of this built in, but you need to understand the design and choose the right tool in the right place to get a system that is fast and easy to maintain.

This course builds on basic ASP.NET Core. It starts with structuring an enterprise solution, advanced middleware and filters, efficient use of EF Core 10 with SQL Server 2025 and reusable UI. Learners then build gRPC and Minimal API services, call external services with resilience, add real-time updates with SignalR, background work and reports, and strengthen security, caching and observability. They write integration tests and finish with an order system workshop that is deployed as a container. (3 days, 6 hours per day, 18 hours in total, Advanced level.)

What you’ll gain

  • Structure an enterprise ASP.NET Core 10 solution and choose an architecture that suits the team
  • Use advanced middleware, filters, options and dependency injection
  • Use advanced EF Core 10 with SQL Server 2025 and tune data access performance
  • Build gRPC and Minimal API services and call external services reliably
  • Add real-time features with SignalR and background work with BackgroundService
  • Protect data with Data Protection, passkeys and policy-based authorisation
  • Speed up the application with caching and monitor it with OpenTelemetry
  • Write integration tests and deploy the application as a container

Who this course is for

  • Developers who have built websites with ASP.NET Core and want to develop enterprise systems
  • Teams maintaining ASP.NET Web Forms or .NET Framework systems who are planning a move to .NET 10
  • Tech leads and solution architects who set the structure of their team's .NET systems
  • Programmers who want to improve the performance, security and stability of web applications

Prerequisites

  • Good C# skills and experience building websites with ASP.NET Core MVC or Razor Pages
  • Experience with Entity Framework Core and basic SQL
  • An understanding of HTTP, JSON and basic JavaScript
  • A laptop that can run the .NET 10 SDK, Visual Studio 2026 or VS Code and Docker Desktop

Curriculum

Course Details

This course is the 2026 edition of Advanced ASP.net 4.0. It runs for 3 days, 6 hours per day (18 hours in total, 09:00-16:00), as lectures with labs and a workshop. Advanced level. This edition moves from ASP.NET 4.0 Web Forms on the .NET Framework, which is no longer developed, to ASP.NET Core 10 on .NET 10 LTS, keeping the original core topics in their current form: data access with EF Core 10 instead of LINQ to SQL, layouts and view

components instead of master pages and themes, gRPC and Minimal APIs instead of SOAP web services, SignalR and fetch instead of ASP.NET AJAX, Data Protection instead of older encryption approaches, and exporting reports from the application instead of SSRS. It adds caching, OpenTelemetry, integration testing and container deployment. The course builds on ASP.NET Core MVC with .NET 10 and Web API with ASP.NET Core and does not revisit the basics. Learners take home a lab guide, source code for every lab and the workshop solution.

Day 1 Architecture and Advanced Data Access

Section 1: Lab: An Enterprise .NET 10 Solution

  • What is new in .NET 10, C# 14 and ASP.NET Core 10
  • Layering with Clean Architecture versus vertical slices
  • Central package versions with Directory.Packages.props
  • Approaches to moving from Web Forms and the .NET Framework
  • Lab: the order system solution used throughout the course

Section 2: Advanced Middleware, Filters and Configuration

  • Writing your own middleware and its order in the pipeline
  • Endpoint filters and action filters for shared concerns
  • The options pattern with validation at start-up
  • Keyed services and service lifetimes in dependency injection
  • Lab: middleware that records a correlation ID for every request

Section 3: Lab: Advanced EF Core 10 with SQL Server 2025

  • Complex types and SQL Server 2025 json columns
  • Named query filters for soft delete and multi-tenancy
  • ExecuteUpdate and ExecuteDelete for bulk changes
  • Concurrency tokens to prevent lost updates
  • Lab: flexible product attributes stored as JSON

Section 4: Data Access Performance

  • Reading the SQL EF Core generates and fixing N+1 queries
  • AsNoTracking, split queries, projections and compiled queries
  • Interceptors for recording change history (auditing)
  • Using Dapper alongside EF Core for report queries
  • Lab: cut the load time of the order list page

Section 5: Lab: Razor and Reusable UI

  • Layouts, sections and _ViewStart in place of master pages and themes
  • View components for parts of a page that contain logic
  • Creating your own tag helpers
  • Sharing UI across projects with a Razor Class Library
  • Lab: a summary widget and shared menu on every page
Day 2 Services, Communication and Background Work

Section 6: Lab: gRPC and Advanced Minimal APIs

  • Build a gRPC service from a .proto file and call it from a client
  • Choosing between gRPC, REST and CoreWCF for existing systems
  • Route groups, TypedResults and endpoint filters in Minimal APIs
  • Built-in Minimal API validation with AddValidation
  • Lab: a stock check service over gRPC

Section 7: Calling External Services Reliably

  • IHttpClientFactory and typed clients
  • Retries, timeouts and circuit breakers with AddStandardResilienceHandler
  • Consistent error handling with ProblemDetails
  • Lab: connect to a shipping API that is slow and sometimes down

Section 8: Lab: Real Time with SignalR and SSE

  • SignalR hubs, groups and authentication
  • Pushing data from the server with TypedResults.ServerSentEvents
  • Updating part of a page with fetch instead of an UpdatePanel
  • Choosing between SignalR, SSE and polling
  • Lab: a real-time order dashboard

Section 9: Background Work with BackgroundService and Channels

  • Hosted services and BackgroundService
  • An in-process work queue with System.Threading.Channels
  • Scheduled work and graceful shutdown
  • When to use a message broker or a job library instead
  • Lab: process orders in the background

Section 10: Lab: Reports and File Exports

  • Create Excel files with ClosedXML
  • Generate PDF documents from system data
  • Stream large CSV files without exhausting memory
  • An overview of linking reports from a report server
  • Lab: a monthly sales report built in the background with a notification when ready
Day 3 Security, Performance and Going Live

Section 11: Advanced Security

  • Encrypt sensitive data with the Data Protection API
  • Store secrets with User Secrets and environment variables
  • Passkey sign-in with ASP.NET Core Identity in .NET 10
  • Policy-based and resource-based authorisation
  • Lab: let users edit only the orders of their own branch

Section 12: Lab: Caching and Performance

  • HybridCache with Redis and cache stampede protection
  • Output caching with tag-based eviction
  • Response compression and response size
  • Measuring with dotnet-counters and BenchmarkDotNet
  • Lab: speed up the product catalogue and measure before and after

Section 13: Observability with OpenTelemetry

  • Structured logging and log levels
  • Metrics and distributed tracing with OpenTelemetry
  • Health checks for the database and external services
  • Lab: view request traces in the Aspire Dashboard

Section 14: Lab: Integration Testing and Code Quality

  • Integration tests with WebApplicationFactory
  • A real SQL Server in tests with Testcontainers
  • Testing endpoints that require authentication
  • Code analysers and nullable reference types

Section 15: Workshop: Enterprise Order System and Deployment

  • Bring every part together into a complete order system
  • Build a container image with dotnet publish without writing a Dockerfile
  • Deploy to IIS or a Linux container and configure production
  • Use an AI assistant to review the code, check every point yourself and present the work

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

How can an existing ASP.NET Web Forms system move to ASP.NET Core 10?

ASP.NET Core does not support Web Forms, so pages cannot simply be converted. The usual approach is to move business logic and data access into libraries first, then rebuild pages with Razor Pages, MVC or Blazor one area at a time. Meanwhile the old and new systems run side by side, with a reverse proxy sending each URL to the system responsible, until every page has moved. Existing SOAP services can move to CoreWCF or be replaced with gRPC or REST.

How does gRPC differ from a REST API, and when should you use it?

REST sends JSON over HTTP, which is easy to read and callable from browsers or any system. gRPC defines the service contract in a .proto file and sends binary Protocol Buffers over HTTP/2, so it is faster and smaller, generates client code automatically and supports streaming. gRPC suits communication between internal services, while REST suits APIs exposed to outside parties or called from web pages.

How is SignalR different from traditional AJAX?

Traditional AJAX has the page ask the server at intervals, or uses an UpdatePanel to reload part of the page, so data arrives only when the page asks. SignalR keeps a connection open, mainly over WebSockets, so the server can push data to users as soon as something changes and can target groups of users. It suits dashboards, notifications and live job status. For simple one-way updates, Server-Sent Events also work.

What is HybridCache in ASP.NET Core?

HybridCache is a caching API that combines the application's in-memory cache with a distributed cache such as Redis behind a single call. You call GetOrCreateAsync, and it checks the cache first, loads from the database only on a miss and stores the result in both layers. It also prevents cache stampedes by combining simultaneous requests for the same item into a single fetch. It can replace IMemoryCache and IDistributedCache.

Who is the Advanced ASP.NET Core 10 course for, and what should I know beforehand?

It suits developers who have built websites with ASP.NET Core, teams maintaining Web Forms or .NET Framework systems who are planning a migration, and tech leads who set the structure of .NET systems. You should have good C# skills, experience with ASP.NET Core MVC or Razor Pages and Entity Framework Core, and an understanding of HTTP and JSON, because the course does not revisit the basics.

Can the Advanced ASP.NET Core 10 course be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your work, such as planning the migration of your current Web Forms system or focusing on the performance and security of existing applications. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.

Related articles

Articles are published in Thai.