Page 8 of 15
A step-by-step guide to migrating your Xamarin.Forms application to .NET MAUI, covering project structure changes, namespace updates, and common pitfalls.
A pragmatic approach to implementing HATEOAS in ASP.NET Core APIs, adding discoverable links without over-engineering.
Explore common patterns for organising SignalR hubs in .NET applications, from simple chat examples to well-structured production code.
Use MediatR pipeline behaviours to cleanly inject logging, validation, and caching into your request pipeline without polluting handler logic.
A comparison of cursor-based and offset-based pagination in .NET APIs, with implementation examples and guidance on when to use each.
Use Nerdbank.GitVersioning to derive deterministic, semver-compliant versions from your Git history without manual version bumps.
How to use Refit to generate strongly typed HTTP clients from interface definitions, eliminating boilerplate HttpClient code.
Publish .NET applications as container images directly from the SDK without writing a Dockerfile.
How to generate interactive API documentation in ASP.NET Core using OpenAPI and Scalar as a modern alternative to Swagger UI.
Collect, report, and enforce code coverage thresholds in your .NET CI pipeline using Coverlet and ReportGenerator.
Enable SourceLink in your .NET libraries so consumers can step into your source code directly from the debugger.
Use Directory.Build.props to centralise build settings, enforce standards, and reduce duplication across .NET projects.
Manage NuGet package versions in one place using Directory.Packages.props to eliminate version drift across projects.
Practical REST API design conventions for .NET APIs covering resource naming, HTTP methods, status codes, and common pitfalls.
Use local tool manifests to version and share .NET CLI tools across your team without global installs.
A hands-on guide to building a GraphQL API in ASP.NET Core using Hot Chocolate's annotation-based and code-first approaches.
Replace Task.Delay loops with PeriodicTimer for reliable, cancellable periodic background work in .NET hosted services.
Automate NuGet package building, versioning, and publishing with GitHub Actions and best practices for package metadata.
Set up a Docker Compose environment for .NET development with databases, caches, and hot reload.
Understand how the .NET ThreadPool manages threads, when to adjust minimum threads, and how to diagnose starvation.
How to expose gRPC services to browser clients using gRPC-Web middleware in ASP.NET Core.
Practical Dockerfile patterns that improve build speed, image size, and security for .NET applications.
Understand the differences between .NET's container image variants — standard, Alpine, chiselled, and AOT — and when to use each.
A practical introduction to building high-performance gRPC services in .NET using Protocol Buffers and the Grpc.AspNetCore package.
Identify the root causes of async deadlocks in .NET, learn diagnostic techniques, and apply patterns that prevent them.