TickerQ: The Source-Generated Job Scheduler That Skips the Reflection Tax
TickerQ replaces the reflection-heavy plumbing of Hangfire and Quartz.NET with compile-time source generators, EF Core persistence, and a built-in real-time dashboard. Here is how to set it up, define jobs, and avoid the gotchas.
Mapperly: The Source-Generated Mapper That Makes AutoMapper Feel Like Legacy Code
Mapperly generates object mapping code at compile time using Roslyn source generators, delivering hand-written performance with zero reflection. Here is how to use it and why teams are switching.
Microsoft Agent Framework 1.0: Building AI Agents in .NET Without the Guesswork
Microsoft Agent Framework 1.0 merges Semantic Kernel and AutoGen into a single, production-ready SDK for building AI agents in .NET. Here is what the unified model looks like, how tools and middleware work, and where workflows fit in.
Garnet: Microsoft's High-Performance Redis Alternative Built on .NET
Garnet is a Redis-compatible cache store from Microsoft Research that outperforms Redis at both low and high concurrency. Here's how to use it from your .NET applications.
Markdig: Parsing and Rendering Markdown in .NET
Use Markdig to parse Markdown into HTML with support for extensions like tables, task lists, and custom renderers.
Humanizer: Making Data Human-Readable in .NET
Use Humanizer to transform strings, dates, numbers, and enums into human-friendly text with minimal code.
Scrutor: Assembly Scanning for .NET Dependency Injection
Use Scrutor to automatically register services by convention, eliminating repetitive DI registration code in .NET applications.
YARP: Building a Reverse Proxy in .NET
Use YARP (Yet Another Reverse Proxy) to route, load balance, and transform HTTP traffic in your .NET applications.
MassTransit: Message-Based Communication in .NET
Use MassTransit to build event-driven .NET applications with RabbitMQ or Azure Service Bus without coupling to a specific transport.
Dapper: Fast Data Access with Raw SQL in .NET
Use Dapper for high-performance database queries when you want full control over your SQL without the overhead of a full ORM.
Hangfire: Fire-and-Forget Background Jobs in .NET
Use Hangfire to queue, schedule, and monitor background jobs with automatic retries and a built-in dashboard.
Quartz.NET: Scheduling Recurring Jobs in .NET
Use Quartz.NET to schedule cron-based and interval-triggered jobs with persistent storage and dependency injection.
Polly v8: Resilience Pipelines for .NET Applications
Build retry, circuit breaker, and timeout strategies with Polly v8's new resilience pipeline API in .NET.
Mapster vs AutoMapper: Which Object Mapper Should You Use?
Compare Mapster and AutoMapper on performance, configuration, and developer experience to pick the right object mapper for your .NET project.
Serilog Structured Logging: Beyond Console.WriteLine
Set up Serilog for structured logging in .NET with sinks, enrichers, and message templates that make logs queryable.
FluentValidation: Expressive Input Validation for .NET
Build readable, testable validation rules with FluentValidation instead of scattering data annotations across your models.
MediatR Pipeline Behaviours: Cross-Cutting Concerns Without the Mess
Use MediatR pipeline behaviours to cleanly inject logging, validation, and caching into your request pipeline without polluting handler logic.