Comprehensive ASP.NET Core 6 Development

  • Course number: NET-601
  • Duration: 4 days

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.

Each student receives a printed copy of all the material presented by the instructor.

Each student receives a lab manual consisting of a series of hands-on lab exercises that take students through the building of a data-driven 3-tier ASP.NET Core application.

The instructor receives a electronic version of the material suitable for presentation during class and a guide with recommended timing and additional information related to the hands-on lab exercises.

Prior .NET experience and basic skills with HTML and JavaScript is assumed.

ASP.NET 6.0 SDK

Visual Studio 2022 (any edition)

Postman application (www.getpostman.com)

Lab file bundle provided with the course

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