.NET Programming

Live Online (VILT) & Classroom Corporate Training Course

The course teaches attendees how to design and build well-architected web and service-oriented applications that follow the MVC design pattern
Dot Net Logo

How can we help you?

  • CloudLabs
    CloudLabs
  • Projects
    Projects
  • Assignments
    Assignments
  • 24x7 Support
    24x7 Support
  • Lifetime Access
    Lifetime Access
Box

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.

Box

Objectives

At the end of .NET Programming training course, participants will be able to

  • Understand the goals and benefits of ASP.NET Core 5.0
  • Learn to make good decisions about application architecture and the choice of 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
  • Get an introduction to Blazor, Razor Pages, and gRPC
  • Understand the different cross-platform deployment options available including via Docker containers
Box

Prerequisites

All attendees must have:

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

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

  • Tag Helpers
  • Form Submissions
  • Model Binding

  • Introduction
  • Data Annotations
  • Model Binding
  • Input Tag Helpers
  • Validation Tag Helpers

  • Best Practices
  • HTTP Error Status Codes
  • Status Code Pages
  • Developer Exception Page

  • Configuration
  • ILogger
  • Serilog and Seq

  • Unit Testing
  • xUnit
  • Testing Controllers
  • Integration Testing

  • 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

  • Razor Components
  • Blazor Server
  • Blazor WebAssembly
Box

Testimonials