Overview
The training course teaches attendees how to design and build well-architected web and service-oriented applications that follow the MVC design pattern. This course also provides an introduction to newer technologies like gRPC and Blazor. This training course can be extended with additional topics related to the C# programming language or Entity Framework Core.
Objectives
At the end of .NET Programming training course, participants will be able to
Prerequisites
All attendees must have:
- Previous experience developing web-based applications with C#
- Some familiarity with HTML, CSS, and JavaScript
Course Outline
- Evolution of .NET and .NET Core
- Architectural Choices in ASP.NET Core 5.0
- Setting up a Development Environment
- Installation
- Version Management
- Command-Line Interface (CLI)
- Hello World Application
- NuGet Packages
- Application Startup
- Hosting Environments
- Middleware and the Request Pipeline
- Services and Dependency Injection
- MVC vs. Razor Pages
- Configure and ConfigureServices
- Configuration Providers and Sources
- Configuration API
- Options Pattern
- HTTPS and HTTP/2
- RESTful Services
- Endpoint Routing
- Route Templates
- Route Constraints
- Attribute-Based Routing
- Persistence Ignorance
- Object-Relational Mapping
- Entity Framework (EF) Core
- Dapper ORM
- Responsibilities
- Requirements and Conventions
- Dependencies
- Action Results
- 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
- Introduction
- Data Annotations
- Model Binding
- Input Tag Helpers
- Validation Tag Helpers
- Best Practices
- HTTP Error Status Codes
- Status Code Pages
- Developer Exception Page
- Introduction
- ASP.NET Core Identity
- Cookie Middleware
- Authorization
- Claims-Based Authorization
- API Controllers
- Testing APIs
- CRUD Operations
- OpenAPI (Swagger)
- Cross-Origin Resource Sharing (CORS)
- Microservices
- Introduction
- Protobuf
- Server
- Client
- Limitations