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 unified platform
- Comparing the evolution of .NET Framework, .NET Core, and .NET 8+
- Understanding project structure, target frameworks, and multi-targeting fundamentals
- Setting up the development environment and necessary tooling
Modern C# and Future-Oriented Language Practices
- Utilizing records, init-only setters, and immutability patterns
- Enhanced pattern matching and switch expressions
- Nullable reference types and compiler-driven type safety
- Best practices for async/await and memory-efficient streaming
- Generic math, static abstracts in interfaces, and performance-optimized APIs
- Preparing codebases for C# 12/13 features on the .NET 8 platform
ASP.NET Core Fundamentals and Application Bootstrap
- Host builder, middleware pipeline, and request lifecycle
- Choosing between Minimal APIs and controller-based APIs: decision criteria
- Configuration providers, environment-specific settings, and secrets management
- Handling static files, routing, and endpoint conventions
- Configuring the dependency injection container and managing service lifetimes
REST API Design and Implementation
- REST maturity model, resource modeling, and URI design
- HTTP methods, status codes, and content negotiation
- Request validation, model binding, and FluentValidation integration
- Versioning strategies for public and internal APIs
- Generating documentation with OpenAPI and Swagger UI
- Performing integration testing using TestServer and WebApplicationFactory
Enterprise Dependency Injection and Inversion of Control
- Constructor injection, service lifetimes, and avoiding captive dependencies
- Applying decorator and factory patterns with the built-in container
- Integrating Scrutor and third-party DI libraries
- Modular service registration and feature-based organization
- Addressing cross-cutting concerns via middleware and filters
Logging, Configuration, and Centralized Error Handling
- Structured logging using Microsoft.Extensions.Logging and Serilog
- Configuring log levels, scopes, enrichment, and sinks
- Implementing exception middleware and global error handling pipelines
- Using ProblemDetails and RFC 7807-compliant error responses
- Implementing health checks, telemetry, and observability hooks
- Managing correlation IDs and preparing for distributed tracing
Software Architecture for Enterprise .NET Solutions
- Principles of layered, hexagonal, and clean architecture
- Domain-driven design building blocks within .NET
- CQRS and mediator patterns implemented with MediatR
- Repository and unit-of-work patterns using EF Core
- Vertical slice architecture for enhanced feature cohesion
- Evaluating trade-offs between monoliths, modular monoliths, and microservices
Security for Web Applications and APIs
- Authentication schemes: JWT, OAuth2, OpenID Connect, and cookie-based flows
- Authorization policies, claims-based access control, and resource-based guards
- Enforcing HTTPS, HSTS, and secure header middleware
- Input sanitization, output encoding, and OWASP Top 10 mitigation
- Implementing rate limiting, CORS policies, and anti-forgery token handling
- Managing secrets with Azure Key Vault and environment-driven rotation
Code Quality, Maintainability, and Best Practices
- Establishing coding standards, EditorConfig, and dotnet format
- Performing static analysis with Roslyn analyzers and SonarQube integration
- Unit testing with xUnit and mocking with Moq or NSubstitute
- Integration and contract testing within CI pipelines
- Refactoring techniques for long-lived legacy modules
- Best practices for documentation, API contracts, and knowledge sharing
Modernization Strategy: Assessing Legacy .NET Framework Code
- Portfolio analysis: classifying applications by criticality, complexity, and business value
- Utilizing the .NET Upgrade Assistant and compatibility analyzers
- Identifying deprecated APIs, platform-specific dependencies, and third-party gaps
- Considering Windows-specific APIs and WCF migration implications
- Developing a migration roadmap with risk-based prioritization
Progressive Migration and Coexistence Techniques
- Implementing the Strangler Fig pattern to incrementally replace legacy subsystems
- API-first migration: exposing .NET Framework domains via REST facades
- Message-based bridging using RabbitMQ, Azure Service Bus, or Kafka
- Strategies for shared database coexistence and schema versioning
- Running .NET Framework and .NET 8 side-by-side within the same infrastructure
- Containerizing modern components while maintaining legacy systems on IIS
Hands-On Migration Lab and Review
- Applying the Upgrade Assistant to a representative legacy project
- Refactoring a Web Forms or WCF service into ASP.NET Core APIs
- Implementing DI, logging, and centralized error handling in the migrated solution
- Adding authentication and authorization to the new API surface
- Verifying coexistence through end-to-end integration testing
- Final review, Q&A, and guidance for post-training modernization planning
Requirements
- Proficiency in C# programming and object-oriented design principles
- Familiarity with core web development concepts (HTTP, HTML, CSS, and JavaScript basics)
- Basic understanding of relational databases and SQL
- Prior exposure to .NET Framework or ASP.NET is beneficial but not mandatory
Audience
- .NET developers and architects preparing to modernize legacy .NET Framework applications
- Software engineers transitioning into enterprise .NET development roles
- Technical leads responsible for planning platform migration and coexistence
- DevOps and infrastructure personnel 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