Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
Testimonials (2)
Interactivity and on-the-fly code solutions
Eduard-Emanuel Zaharia - Kruk Italia
Course - Advanced Blazor
chance to do hands-on and patience of trainer