ASP.NET

Comprehensive ASP.NET Core 6 Development (ASPNETTL501)

Course Length: 4 days

This 4-day ASP.NET course that covers all of the fundamentals of ASP.NET plus Web UI and Web APIs.

Comprehensive ASP.NET Core 6 Development

Register or Request Training

  • Private class for your team
  • Live expert instructor
  • Online or on‑location
  • Customizable agenda
  • Proposal turnaround within 1–2 business days

Course Overview

This ASP.NET Core 6 training course provides comprehensive coverage of how to develop web applications with Microsoft’s ASP.NET Core 6 framework. Coverage of Web UIs includes the MVC pattern as well as Razor Pages. For Web APIs, attendees learn to build a traditional API, implement a microservice architecture, and use the new minimal API feature. An introduction to Blazor is included but it is not covered in-depth.

Course Benefits

  • Understand the goals and benefits of ASP.NET Core 6.0.
  • Learn to make good decisions about application architecture and data access technology.
  • Use ASP.NET’s routing system to achieve a REST-style architecture.
  • Learn how to build a compelling and maintainable HTML user interface using the Razor view engine and client-side JavaScript.
  • Gain experience building a service that makes data available via a modern web API.
  • Understand the advantages of the new Minimal API Framework.
  • Learn best practices for employing unit testing, logging, and error handling.
  • Understand different authentication choices for securing a web API.
  • Get an introduction to Blazor, Razor Pages, and gRPC.
  • Understand the different cross-platform deployment options available including via Docker containers.

Delivery Methods

Course Outline

  1. Introduction
    1. Evolution of .NET and .NET Core
    2. .NET SKDs and Runtimes
    3. Visual Studio and Visual Studio Code
  2. .NET 6.0 SDK
    1. Installation
    2. Version Management
    3. Command-Line Interface (CLI)
  3. What’s New in C#
    1. Record Types
    2. Init Only Setters
    3. Nullable Reference Types
    4. Global Using Directives
    5. File-Scoped Namespace Declarations
    6. Top-Level Statements
  4. ASP.NET Core Application Architecture
    1. NuGet Packages
    2. Application Startup
    3. Hosting Environments
    4. Middleware and the Request Pipeline
    5. Services and Dependency Injection
  5. Application Configuration
    1. Configuration Providers and Sources
    2. Configuration API
    3. Options Pattern
    4. HTTPS and HTTP/2
  6. Request Routing
    1. RESTful Services
    2. Endpoint Routing
    3. Route Templates
    4. Route Constraints
    5. Route Template Precedence
    6. Attribute-Based Routing
  7. Models
    1. Persistence Ignorance
    2. Dependency Inversion
    3. Asynchronous Data Access
    4. Object-Relational Mapping
    5. Entity Framework Core
    6. Dapper ORM
  8. Controllers
    1. Responsibilities
    2. Requirements and Conventions
    3. Dependencies
    4. Action Results
    5. ApiController Attribute
  9. Views
    1. Responsibilities
    2. Conventions
    3. Razor Syntax
    4. Layouts
    5. ViewData and ViewBag
    6. Strongly-Typed Views
    7. Partial Views
    8. HTML and URL Helpers
    9. Tag Helpers
    10. View Components
    11. Client-Side Dependencies
    12. Razor Pages
    13. View Models
  10. HTML Forms
    1. Tag Helpers
    2. Form Submissions
    3. Model Binding
  11. Input Validation
    1. Data Annotations
    2. Model Binding
    3. Input Tag Helpers
    4. Validation Tag Helpers
  12. Application State
    1. Client-Side vs. Server-Side
    2. HttpContext.Items
    3. Session State
    4. TempData
  13. Web APIs
    1. API Controllers
    2. Minimal APIs
    3. OpenAPI / Swagger
    4. Testing APIs
    5. Content Negotiation
    6. CRUD Operations
    7. Microservice Architecture
    8. Cross-Origin Resource Sharing (CORS)
  14. Error Handling
    1. Best Practices
    2. HTTP Error Status Codes
    3. Developer Exception Page
  15. Logging
    1. Configuration
    2. ILogger
    3. Serilog and Seq
  16. Testing
    1. Unit Testing
    2. xUnit
    3. Testing Controllers
    4. Integration Testing
  17. Security
    1. Authentication
    2. ASP.NET Identity
    3. Authorization
    4. Web API Authentication
    5. JSON Web Tokens (JWT)
    6. OAuth 2.0 and OpenID Connect
    7. Secrets Management
  18. Remote Procedure Calls (gRPC)
    1. Protobuf
    2. Server
    3. Client
    4. Limitations
  19. Blazor
    1. Razor Components
    2. Blazor Server
    3. Blazor WebAssembly
  20. Deployment
    1. dotnet publish
    2. Kestrel
    3. IIS
    4. Docker

Class Materials

Each student receives a comprehensive set of materials, including course notes and all class examples.

Class Prerequisites

Experience in the following is required for this ASP.NET class:

  • Previous experience developing web-based applications with C#.
  • Some familiarity with HTML, CSS, and JavaScript.

Prerequisite Courses

Courses that can help you meet these prerequisites:

Have questions about this course?

We can help with curriculum details, delivery options, pricing, or anything else. Reach out and we’ll point you in the right direction.