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.
Course Outline
Introduction to the Modern .NET Platform
- Overview of the .NET 8 runtime, SDK, and unified platform
- Evolution comparison: .NET Framework, .NET Core, and .NET 8+
- Project structure, target frameworks, and basics of multi-targeting
- Setting up the development environment and essential tooling
Modern C# and Future-Oriented Language Practices
- Records, init-only setters, and immutability patterns
- Enhancements in pattern matching and switch expressions
- Nullable reference types and compiler-driven safety features
- Best practices for async/await and memory-efficient streaming
- Generic math, static abstracts in interfaces, and performance-oriented APIs
- Preparing codebases for C# 12/13 features on .NET 8
ASP.NET Core Fundamentals and Application Bootstrap
- Host builder, middleware pipeline, and request lifecycle management
- Decision criteria: Minimal APIs vs. controller-based APIs
- Configuration providers, environment-specific settings, and secrets management
- Static files, routing, and endpoint conventions
- Dependency injection container configuration and 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
- Documentation with OpenAPI and Swagger UI
- Integration testing of APIs using TestServer and WebApplicationFactory
Enterprise Dependency Injection and Inversion of Control
- Constructor injection, service lifetimes, and avoiding captive dependencies
- Decorator and factory patterns with the built-in container
- Scrutor and third-party DI library integration
- Modular service registration and feature-based organization
- Addressing cross-cutting concerns via middleware and filters
Logging, Configuration, and Centralized Error Handling
- Structured logging with Microsoft.Extensions.Logging and Serilog
- Log levels, scopes, enrichment, and sink configuration
- Exception middleware and global error handling pipelines
- ProblemDetails and RFC 7807-compliant error responses
- Health checks, telemetry, and observability hooks
- Correlation IDs and preparation for distributed tracing
Software Architecture for Enterprise .NET Solutions
- Principles of layered, hexagonal, and clean architecture
- Domain-driven design building blocks in .NET
- CQRS and mediator patterns with MediatR
- Repository and unit-of-work patterns with EF Core
- Vertical slice architecture for feature cohesion
- Evaluating trade-offs between monolith, modular monolith, and microservices
Security for Web Applications and APIs
- Authentication schemes: JWT, OAuth2, OpenID Connect, and cookie-based flows
- Authorization policies, claims-based access, and resource-based guards
- HTTPS enforcement, HSTS, and secure header middleware
- Input sanitization, output encoding, and OWASP Top 10 mitigation
- Rate limiting, CORS policies, and anti-forgery token handling
- Secret management with Azure Key Vault and environment-driven rotation
Code Quality, Maintainability, and Best Practices
- Coding standards, EditorConfig, and dotnet format
- Static analysis with Roslyn analyzers and SonarQube integration
- Unit testing with xUnit and mocking with Moq or NSubstitute
- Integration and contract testing in CI pipelines
- Refactoring techniques for long-lived legacy modules
- Documentation, API contracts, and knowledge-sharing practices
Modernization Strategy: Assessing Legacy .NET Framework Code
- Portfolio analysis: classifying apps by criticality, complexity, and business value
- Utilizing the .NET Upgrade Assistant and compatibility analyzer
- Identifying deprecated APIs, platform-specific dependencies, and third-party gaps
- Considerations for Windows-specific APIs and WCF migration
- Creating a risk-based prioritized migration roadmap
Progressive Migration and Coexistence Techniques
- The Strangler Fig pattern: incrementally replacing legacy subsystems
- API-first migration: exposing .NET Framework domains via REST facades
- Message-based bridging with RabbitMQ, Azure Service Bus, or Kafka
- Shared database coexistence and schema versioning strategies
- Running .NET Framework and .NET 8 side-by-side in the same infrastructure
- Containerizing modern components while maintaining legacy applications 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
- Review, Q&A, and post-training modernization planning guidance
Requirements
- Proficiency in C# programming and object-oriented design principles
- Familiarity with web development fundamentals (HTTP, HTML, CSS, JavaScript basics)
- Basic understanding of relational databases and SQL
- Previous exposure to .NET Framework or ASP.NET is advantageous 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 platform migration strategies and coexistence planning
- DevOps and infrastructure personnel supporting .NET application lifecycles
21 Hours
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