Course Outline
Overview of the Current .NET Ecosystem
- Comprehensive view of the .NET 8 runtime, Software Development Kit (SDK), and unified platform capabilities
- Evaluation of the historical progression from .NET Framework through .NET Core to modern .NET 8 releases
- Fundamentals of project architecture, target framework specifications, and multi-targeting strategies
- Establishment of development environments and essential tooling configurations for government applications
Advanced C# Syntax and Future-Ready Development Standards
- Utilization of records, init-only properties, and immutability patterns to enhance data integrity
- Implementation of advanced pattern matching techniques and switch expressions for streamlined logic
- Adoption of nullable reference types and compiler-enforced safety mechanisms to reduce runtime errors
- Application of asynchronous programming best practices and efficient memory management techniques
- Employment of generic math capabilities, static abstract members in interfaces, and performance-optimized APIs for government workloads
- Preparation of codebases to support upcoming C# 12/13 features within the .NET 8 framework
ASP.NET Core Fundamentals and Application Initialization
- Configuration of the Host builder, middleware pipeline execution, and request processing lifecycle
- Evaluation of Minimal APIs versus Controller-based architectures for specific government use cases
- Management of configuration providers, environment-specific settings, and secure secrets handling
- Implementation of static file services, routing mechanisms, and endpoint conventions
- Configuration of the dependency injection container and definition of service lifetimes for enterprise scalability
RESTful API Design and Implementation Standards
- Application of REST maturity models, resource modeling techniques, and standardized URI design principles
- Proper utilization of HTTP methods, status codes, and content negotiation protocols
- Implementation of request validation, model binding processes, and integration with FluentValidation
- Development of versioning strategies for both public-facing and internal government APIs
- Generation of API documentation using OpenAPI specifications and Swagger UI interfaces
- Execution of API integration testing utilizing TestServer and WebApplicationFactory tools
Enterprise Dependency Injection and Inversion of Control
- Management of constructor injection, service lifetimes, and prevention of captive dependencies in government systems
- Implementation of decorator and factory patterns using the built-in dependency injection container
- Integration of third-party DI libraries such as Scrutor to extend functionality
- Organization of modular service registration and feature-based architectural structures
- Addressing cross-cutting concerns through middleware components and filtering mechanisms
Logging, Configuration Management, and Centralized Error Handling
- Implementation of structured logging using Microsoft.Extensions.Logging and Serilog for auditability
- Configuration of log levels, diagnostic scopes, enrichment data, and sink destinations
- Development of exception handling middleware and global error processing pipelines
- Standardization of error responses using ProblemDetails and compliance with RFC 7807 standards
- Implementation of health checks, telemetry data collection, and observability hooks for system monitoring
- Integration of correlation IDs to support distributed tracing across government networks
Software Architecture for Enterprise .NET Solutions
- Application of layered, hexagonal, and clean architecture principles for scalable government systems
- Implementation of Domain-Driven Design (DDD) building blocks within the .NET environment
- Utilization of CQRS and mediator patterns with MediatR to decouple application components
- Application of repository and unit-of-work patterns with Entity Framework Core for data management
- Adoption of vertical slice architecture to enhance feature cohesion and maintainability
- Evaluation of architectural trade-offs between monolithic, modular monolith, and microservices approaches for government deployments
Security Protocols for Web Applications and APIs
- Implementation of authentication schemes including JWT, OAuth2, OpenID Connect, and cookie-based flows for secure access
- Development of authorization policies, claims-based access controls, and resource-specific guards
- Enforcement of HTTPS standards, HSTS protocols, and secure header middleware configurations
- Mitigation of input validation issues, output encoding practices, and adherence to OWASP Top 10 guidelines
- Management of rate limiting policies, CORS restrictions, and anti-forgery token handling procedures
- Secure secret management utilizing Azure Key Vault and automated rotation mechanisms for government compliance
Code Quality Assurance and Maintainability Standards
- Enforcement of coding standards through EditorConfig and dotnet format utilities
- Integration of static code analysis using Roslyn analyzers and SonarQube for vulnerability detection
- Execution of unit testing frameworks including xUnit, with mocking capabilities via Moq or NSubstitute
- Implementation of integration and contract testing within Continuous Integration (CI) pipelines
- Application of refactoring techniques to modernize long-standing legacy modules in government software
- Maintenance of comprehensive documentation, API contracts, and knowledge-sharing protocols for operational clarity
Modernization Strategy: Assessment of Legacy .NET Framework Applications
- Portfolio analysis methodologies: classifying applications based on criticality, complexity, and business value to government missions
- Utilization of the .NET Upgrade Assistant and compatibility analyzers to identify migration barriers
- Identification of deprecated APIs, platform-specific dependencies, and third-party library gaps requiring resolution
- Considerations for migrating Windows-specific APIs and Windows Communication Foundation (WCF) services
- Development of risk-based migration roadmaps to prioritize modernization efforts effectively
Progressive Migration Techniques and System Coexistence
- Application of the Strangler Fig pattern to incrementally replace legacy subsystems with modern solutions
- Implementation of API-first migration strategies by exposing legacy domains through RESTful facades
- Establishment of message-based bridging using RabbitMQ, Azure Service Bus, or Kafka for inter-system communication
- Strategies for shared database coexistence and schema versioning during transition periods
- Deployment configurations allowing .NET Framework and .NET 8 applications to operate side-by-side within the same infrastructure
- Containerization of modern components while maintaining legacy services on Internet Information Services (IIS)
Practical Migration Laboratory and Review
- Application of the Upgrade Assistant to a representative legacy government project for practical experience
- Refactoring of Web Forms or WCF services into contemporary ASP.NET Core APIs
- Implementation of dependency injection, logging mechanisms, and centralized error handling in the migrated solution
- Integration of authentication and authorization controls into the new API surface
- Verification of system coexistence through comprehensive end-to-end integration testing
- Synthesis of findings, resolution of questions, and provision of post-training modernization planning guidance for government entities
Requirements
- Proficiency in C# programming language and application of object-oriented design methodologies
- Competence in web development standards, including HTTP protocols, HTML, CSS, and foundational JavaScript
- Functional knowledge of relational database systems and Structured Query Language (SQL)
- Previous experience with .NET Framework or ASP.NET is advantageous, though not a prerequisite
Audience
- .NET developers and architects tasked with modernizing legacy .NET Framework applications for government agencies
- Software engineers transitioning into enterprise-level .NET development positions within the public sector
- Technical leaders overseeing platform migration strategies and system coexistence planning
- DevOps and infrastructure personnel managing the lifecycle of .NET applications in federal environments
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