Get in Touch
 Duration 21 hours

Course Outline

Introduction to the Modern .NET Platform

  • Overview of the .NET 8 runtime, SDK, and consolidated platform capabilities
  • Evolutionary comparison of .NET Framework, .NET Core, and .NET 8+ standards
  • Foundations of project organization, target framework definitions, and multi-targeting
  • Configuration of development environments and standard tooling for government projects

Modern C# and Future-Oriented Language Practices

  • Implementation of records, init-only setters, and immutability patterns
  • Enhanced pattern matching and utilization of switch expressions
  • Integration of nullable reference types and compiler-enforced safety mechanisms
  • Best practices for asynchronous operations and memory-efficient streaming workflows
  • Application of generic math, static abstract interface members, and high-performance APIs
  • Preparation of codebases for upcoming C# 12/13 features within the .NET 8 environment

ASP.NET Core Fundamentals and Application Bootstrap

  • Host builder architecture, middleware pipelines, and request lifecycle management
  • Evaluation of Minimal APIs versus controller-based APIs for selection criteria
  • Configuration providers, environment-specific parameters, and secure secrets management
  • Management of static files, routing logic, and endpoint conventions
  • Dependency injection container setup and service lifecycle management

REST API Design and Implementation

  • Application of the REST maturity model, resource modeling, and URI structure design
  • Usage of HTTP methods, status codes, and content negotiation protocols
  • Implementation of request validation, model binding, and FluentValidation integration
  • Versioning strategies for public-facing and internal government APIs
  • API documentation standards using OpenAPI and Swagger UI
  • Integration testing implementation using TestServer and WebApplicationFactory

Enterprise Dependency Injection and Inversion of Control

  • Constructor injection, service lifetimes, and management of captive dependencies
  • Decorator and factory patterns utilizing the built-in container
  • Integration of Scrutor and third-party dependency injection libraries
  • Modular service registration and feature-based organizational structures
  • Addressing cross-cutting concerns via middleware and filter mechanisms

Logging, Configuration, and Centralized Error Handling

  • Structured logging implementation with Microsoft.Extensions.Logging and Serilog
  • Configuration of log levels, scopes, enrichment, and sink destinations
  • Exception middleware and global error handling pipeline construction
  • Standardization of ProblemDetails and RFC 7807-compliant error responses
  • Health checks, telemetry, and observability hook implementation
  • Correlation ID generation and preparation for distributed tracing

Software Architecture for Enterprise .NET Solutions

  • Principles of layered, hexagonal, and clean architecture models
  • Domain-driven design components within the .NET ecosystem
  • CQRS and mediator pattern implementation using MediatR
  • Repository and unit-of-work patterns applied with Entity Framework Core
  • Vertical slice architecture for enhancing feature cohesion
  • Evaluation of trade-offs between monoliths, modular monoliths, and microservices

Security for Web Applications and APIs

  • Authentication protocols: JWT, OAuth2, OpenID Connect, and cookie-based flows
  • Authorization policies, claims-based access control, and resource-level guards
  • HTTPS enforcement, HSTS configuration, and secure header middleware
  • Input sanitization, output encoding, and OWASP Top 10 mitigation strategies
  • Rate limiting, CORS policies, and anti-forgery token management
  • Secrets management using Azure Key Vault and environment-based rotation

Code Quality, Maintainability, and Best Practices

  • Enforcement of coding standards via EditorConfig and dotnet format
  • Static analysis using Roslyn analyzers and SonarQube integration
  • Unit testing with xUnit and mocking strategies using Moq or NSubstitute
  • Integration and contract testing within CI/CD pipelines
  • Refactoring techniques for maintaining long-lived legacy modules
  • Documentation standards, API contracts, and knowledge-sharing protocols

Modernization Strategy: Assessing Legacy .NET Framework Code

  • Portfolio assessment: Categorizing applications by criticality, complexity, and value
  • Utilization of the .NET Upgrade Assistant and compatibility analysis tools
  • Identification of deprecated APIs, platform-specific dependencies, and third-party gaps
  • Considerations for migrating Windows-specific APIs and WCF services
  • Development of a risk-based migration roadmap for government systems

Progressive Migration and Coexistence Techniques

  • Strangler Fig pattern application for incremental legacy subsystem replacement
  • API-first migration approach: Exposing .NET Framework domains via REST facades
  • Message-based bridging using RabbitMQ, Azure Service Bus, or Kafka
  • Shared database coexistence and schema versioning strategies
  • Side-by-side execution of .NET Framework and .NET 8 components
  • Containerization of modern components while retaining legacy IIS deployments

Hands-On Migration Lab and Review

  • Application of the Upgrade Assistant to a representative legacy project
  • Refactoring Web Forms or WCF services into ASP.NET Core APIs
  • Implementation of DI, logging, and centralized error handling in the new solution
  • Integration of authentication and authorization into the new API surface
  • Verification of coexistence through end-to-end integration testing
  • Session review, Q&A, and guidance for post-training modernization planning

Requirements

  • Experience with C# programming and object-oriented design principles
  • Familiarity with web development concepts (HTTP, HTML, CSS, JavaScript basics)
  • Basic understanding of relational databases and SQL
  • Prior exposure to .NET Framework or ASP.NET is helpful but not required

Audience

  • .NET developers and architects preparing to modernize legacy .NET Framework applications
  • Software engineers moving into enterprise .NET development roles
  • Technical leads responsible for platform migration and coexistence planning
  • DevOps and infrastructure staff supporting .NET application lifecycles

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories