ASP.NET Core 3.1 Development

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

ASP.NET Core 3 a cross-platform version of Microsoft's ASP.NET Web development framework. This ASP.NET Core 3 Development training introduces attendees to ASP.NET Core development and teaches the skills necessary to design and build well-architected web and service-oriented applications that follow the MVC design pattern. This course does introduce new frameworks like gRPC and Blazor but does not include in-depth coverage of those topics.

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 Core 3.1 SDK

Visual Studio 2019 (any edition) with Update 16.4 (or later)

Postman application (www.getpostman.com)

Lab file bundle provided with the course

  • Introduction
    • What is .NET Core?
    • .NET Core vs .NET Framework
    • Overview of ASP.NET Core
  • .NET Core SDK
    • Installation
    • Version Management
    • Command-Line Interface (CLI)
    • Hello World Application
  • ASP.NET Core Application Architecture
    • NuGet Packages
    • Application Startup
    • Hosting Environments
    • Middleware and the Request Pipeline
    • Services and Dependency Injection
    • MVC vs. Razor Pages
  • Application Configuration
    • Configure and ConfigureServices
    • Configuration Providers and Sources
    • Configuration API
    • Options Pattern
    • HTTPS and HTTP/2
  • Request Routing
    • RESTful Services
    • Endpoint Routing
    • Route Templates
    • Route Constraints
    • Attribute-Based Routing
  • Models
    • Persistence Ignorance
    • Object-Relational Mapping
    • Entity Framework (EF) Core
    • Dapper ORM
  • Controllers
    • Responsibilities
    • Requirements and Conventions
    • Dependencies
    • Action Results
  • 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
    • Form Tag Helper
    • Input Tag Helper
    • Select Tag Helper
    • Form Submissions
    • Model Binding
  • Data Validation
    • Introduction
    • Data Annotations
    • Model Binding
    • Input Tag Helpers
    • Validation Tag Helpers
  • Application State
    • Client-Side vs Server-Side
    • HttpContext.Items
    • Session State
    • TempData
  • Error Handling
    • Best Practices
    • HTTP Error Status Codes
    • Status Code Pages
    • Developer Exception Page
  • Logging
    • Configuration
    • ILogger
    • Serilog and Seq
  • Testing
    • Unit Testing
    • xUnit
    • Testing Controllers
    • Integration Testing
  • Authentication
    • ASP.NET Core Identity
    • Cookie Middleware
    • Authorization
    • Claims-Based Authorization
  • Web APIs
    • API Controllers
    • Testing APIs
    • CRUD Operations
    • OpenAPI (Swagger)
    • Cross-Origin Resource Sharing (CORS)
  • Remote Procedure Calls (gRPC)
    • Introduction
    • Protobuf
    • Server
    • Client
    • Limitations
  • Blazor
    • Razor Components
    • Blazor Server
    • Blazor WebAssembly
  • Deployment
    • dotnet publish
    • Kestrel
    • IIS
    • Docker
  • Conclusion