Enterprise ASP.NET Core 3 Development

This ASP.NET Core training focuses on the patterns and practices necessary for building
enterprise-class web applications and services with ASP.NET Core 3. The hands-on exercises
completed during the course include the development of a containerized microservice-based architecture. Special attention is given to topics such as asynchronous communication, high
availability, and resiliency.

Location

Public Classes: Delivered live online via WebEx and guaranteed to run . Join from anywhere!

Private Classes: Delivered at your offices , or any other location of your choice.

Goals
  1. Learn how to configure a development environment to support multiple .NET Core versions and deployment environments
  2. Understand the architecture and configuration of an ASP.NET Core application
  3. Acquire hands-on experience with using the ASP.NET Core routing to support a RESTful API design
  4. Learn about several different data access technologies (including Dapper and EF Core) and design patterns such as CQRS, Repository, and Unit of Work
  5. Understand the key aspects of a Microservice architecture and how to apply the principles of Domain-Driven Design (DDD)
  6. Use to Docker to containerize and deploy a microservice-based application
  7. Learn about the several microservice communication styles including asynchronous message-based and event-based patterns
  8. Gain hands-on experience designing for high-availability and resiliency
  9. Understand how to secure a Web API using token-based authentication with policy-based authorization
  10. Learn how to use Microsoft’s new Blazor technology for implementing client-side functionality with C#
Outline
  1. Setting up a Development Environment
    1. .NET Core SDK
    2. Visual Studio vs. VS Code
    3. Version Management with global.json
    4. Docker for Windows/macOS
    5. Remote Development using SSH
  2. ASP.NET Core Application Architecture
    1. NuGet Packages and Metapackages
    2. Application Startup
    3. Hosting Environments (Dev, Test, Stage, Prod)
    4. Middleware and the Request Processing Pipeline
    5. Services and Dependency Injection
  3. Application Configuration
    1. Configure and ConfigureServices
    2. Configuration Providers and Sources
    3. Configuration API
    4. Options Pattern
    5. HTTPS and HTTP/2
  4. Request Routing
    1. RESTful Services
    2. Endpoint Routing
    3. Attribute-Based Routing
    4. Route Templates
    5. Route Constraints
  5. Controllers
    1. Responsibilities
    2. Requirements and Conventions
    3. Explicit Dependencies Principle
    4. Action Results
  6. Data Access
    1. Persistence Ignorance
    2. Object-Relational Mapping
    3. ADO.NET vs. Dapper vs. EF Core
    4. Command Query Responsibility Segregation (CQRS)
    5. Repository and Unit of Work Patterns
  7. Web APIs
    1. ApiController Attribute
    2. CRUD Operations
    3. Content Negotiation
    4. Bad Requests
    5. Cross-Origin Resource Sharing (CORS)
  8. Using Docker
    1. Advantages of Containerized Applications
    2. Containers vs. Virtual Machines
    3. Microsoft ASP.NET Core Images
    4. Multi-Stage Builds
    5. Deploying a Monolithic Application
  9. Microservice Architecture
    1. Service-Oriented Architecture
    2. Domain-Driven Design (DDD)
    3. Data Sovereignty and the Bounded Context Pattern
    4. Polyglot Microservices
    5. API Gateway Pattern and Ocelot
    6. Container Orchestration
  10. Microservice Communication
    1. Communication Styles
    2. Container Networking
    3. Addressability and the Service Registry
    4. Eventual Consistency
    5. Asynchronous Message-Based Communication
    6. Asynchronous Event-Driven Communication
  11. Resiliency
    1. Handling Partial Failures
    2. Retires and Exponential Backoff
    3. Circuit Breaker Pattern
    4. Health Monitoring and Alerts
  12. Security and Authentication
    1. Token-Based Authentication
    2. Policy-Based Authorization
    3. IdentityServer
    4. Application Secrets
  13. Client-Side Development with Blazor
    1. Server-Side Blazor vs. Client Side Blazor
    2. Browser Support
    3. Forms and Validation
    4. Routing
    5. Authentication
  14. Conclusion
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this ASP.NET class:

  • Extensive experience using the C# language.
  • Previous experience developing applications with ASP.NET Core or ASP.NET MVC.
  • Some familiarity with HTML, CSS, and JavaScript.

Experience in the following would be useful for this ASP.NET class:

  • Some knowledge of Docker is recommended but not required.

Training for Yourself

$2,380.00 or 4 vouchers

Upcoming Live Online Classes

  • See More Classes

Please select a class.

Training for your Team

Length: 4 Days
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors

What people say about our training

I have been in IT for more than 25 years and I could say without a doubt that this was the best class I've ever taken and the best instructor as well.
JOSE MONTOYA
Florida Power and Light
The pacing, the quality of the exercises and the overall subject matter was perfect for learning!
Robert Hinshaw
Merchante-solutions
This provided me a remarkably affordable and effective alternative to in-person training.
Mark Lee
Baker Hughes Incorporated
Great remote site experience. I was able to complete SQL training sitting all the way on the East Coast. My instrcutor had full control of the technology and course material.
Haroon Ahmad
City & County of San Francisco

No cancelation for low enrollment

Certified Microsoft Partner

Registered Education Provider (R.E.P.)

GSA schedule pricing

64,155

Students who have taken Instructor-led Training

11,950

Organizations who trust Webucator for their Instructor-led training needs

100%

Satisfaction guarantee and retake option

9.30

Students rated our trainers 9.30 out of 10 based on 30,185 reviews

Contact Us or call 1-877-932-8228