Posts
2025
Blazor Interactivity in .NET 9 and .NET 10: A Complete Guide
A deep dive into Blazor's render modes, streaming SSR, enhanced navigation, and the new interactivity features in .NET 9 and .NET 10.
Minimal APIs in .NET: Building Lightweight HTTP APIs
A comprehensive guide to building clean, fast HTTP APIs with .NET Minimal APIs — from route handlers and parameter binding to filters and OpenAPI integration.
Using isolated CSS in Blazor components
Scope CSS styles to individual Blazor components using CSS isolation to avoid global style conflicts.
2024
Controlling christmas spending with Semantic Kernel
Analyze receipts and track Christmas spending using Semantic Kernel, Azure OpenAI, and Blazor.
Using containers to... keep track of Christmas presents' prices?
Automate Christmas gift price monitoring using Docker containers, Blazor, and a .NET API backend.
Custom ValidationAttribute and Blazor validation
Create reusable custom ValidationAttribute classes for Blazor form validation with data annotations.
2023
Custom exception handling on .NET API
Build custom exception handling middleware to return clean error responses from .NET APIs.
A nicer way to inject stuff
Organize .NET dependency injection registrations using clean IServiceCollection extension methods.
Dependency injection with Attributes on .NET API
Enable dependency injection in .NET API action filters using TypeFilterAttribute instead of ActionAttribute.
Swagger documentation with external libraries
Enable Swagger to display XML documentation from models defined in external .NET class libraries.
Cleanup local branches in Git
Delete all local Git branches except the main branch using a single PowerShell command.
Updating Identity's routes in ASP.NET Core 7
Customize default ASP.NET Core Identity login and register URLs by scaffolding Identity pages.
2022
Custom attributes on .NET 6 Core API
Create custom ActionFilterAttribute classes to validate request headers in .NET 6 Core APIs.
Handle loading components in Blazor
Build a reusable loading spinner wrapper component in Blazor using RenderFragment and ChildContent.
Getting the expiration date from a certificate
Programmatically retrieve SSL certificate expiration dates using C# HttpClient and X509Certificate2.
Focusing an element in Blazor
Set focus on HTML elements in Blazor components using JavaScript Interop and element references.
Generate *.dacpac files from VS Database project in GitHub Actions
Automate dacpac file generation from Visual Studio Database projects using GitHub Actions pipelines.
Toggle themes with Javascript Interop in Blazor
Implement light and dark theme toggling in Blazor using JavaScript Interop and CSS data attributes.
Uploading files to Azure Blob Storage in Blazor
Upload files to Azure Blob Storage from a Blazor app using the native HTML5 file input.
2020
Overriding a core controller of Pimcore
Override core Pimcore controllers by creating custom Symfony bundles with service configuration.