Page 9 of 15
Use multi-stage Docker builds to produce small, secure .NET container images without shipping the SDK.
Build a complete CI/CD pipeline for .NET projects using GitHub Actions, from restore through to deployment.
Use Interlocked operations for high-performance, lock-free atomic updates to shared state in concurrent .NET applications.
Use SemaphoreSlim to limit concurrent access to resources in async code, preventing overload of databases, APIs, and shared services.
Building a comprehensive security headers middleware for ASP.NET Core that covers X-Content-Type-Options, X-Frame-Options, Referrer-Policy, and more.
Stream data asynchronously with IAsyncEnumerable, reducing memory usage and enabling reactive-style processing over async data sources.
A practical guide to hashing passwords, encrypting data, and using .NET's cryptography APIs without the common pitfalls.
Learn how to properly propagate, link, and respond to CancellationTokens throughout your async .NET code.
Practical approaches to validating and sanitising user input in .NET applications to prevent injection attacks and data corruption.
Implementing API key authentication in ASP.NET Core using middleware, authentication handlers, and endpoint filters.
Master Task.WhenAll and Task.WhenAny patterns for running concurrent async operations, with error handling and timeout strategies.
Comparing role-based and policy-based authorisation in ASP.NET Core, with practical examples showing when to use each approach.
Registering Blazor components as web custom elements for use in non-Blazor applications.
How to extend and customise ASP.NET Core Identity with custom user properties, stores, password policies, and token providers.
Use Parallel.ForEachAsync to process collections concurrently with built-in degree-of-parallelism control and cancellation support.
Practical patterns for managing secrets in .NET applications, covering user secrets for development and Key Vault for production.
Using the Virtualize component to render thousands of items without destroying performance.
How to implement Content Security Policy headers to mitigate XSS and data injection attacks in ASP.NET Core applications.
Use System.Threading.Channels to build efficient, back-pressure-aware producer-consumer pipelines in .NET.
Using ErrorBoundary components to catch and recover from runtime errors without crashing the entire application.
Understanding cross-site request forgery attacks and how ASP.NET Core's anti-forgery system prevents them.
Understand what SynchronizationContext is, how different .NET platforms implement it, and why it shapes async behaviour.
Configuring HTTPS in ASP.NET Core, managing certificates for development and production, and enforcing secure connections.
Using the built-in QuickGrid component for sorting, filtering, and paginating tabular data.
How ASP.NET Core's Data Protection API handles key management, encryption, and data persistence — and how to configure it for production.