- Course number: NET-310
- Duration: 4 days
ASP.NET Core 5 is a cross-platform version Microsoft's ASP.NET Web development framework. This ASP.NET Core 5 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 5 SDK (5.0.101 or later)
Visual Studio 2019 (any edition) with Update 16.8 (or later)
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 Core SDK
- Installation
- Version Management
- Command-Line Interface (CLI)
-
What's New in C# 9
- Introduction
- Record Types
- Init Only Setters
- Nullable Reference Types
-
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