Costruire un MCP Server in C#: agenti AI con contesto reale usando il Model Context Protocol
Il Model Context Protocol (MCP) è lo standard aperto per collegare agenti AI a dati e strumenti personalizzati. Vediamo come costruire un MCP Server in C# con l'SDK...
CQRS senza MediatR: implementare Command e Query handler in .NET con il DI container
MediatR è passato a licenza commerciale e molti team .NET stanno cercando alternative. Buone notizie: CQRS è un pattern, non una libreria. Ecco come implementare command e query...
Pattern matching in C#: scenari avanzati che probabilmente non conosci
Il pattern matching in C# offre molto più dei semplici controlli di tipo. Esploriamo i pattern avanzati — property, list, relational, switch expression — con esempi pratici per...
Deserializzazione JSON sicura in .NET 10: guida completa a JsonSerializerOptions.Strict
.NET 10 introduce JsonSerializerOptions.Strict, un preset che attiva cinque protezioni di sicurezza in System.Text.Json: proprieta' duplicate, campi non mappati, nullable, parametri obbligatori. Guida pratica con esempi di codice...
Il pulsante di emergenza: revoca immediata dei token in .NET 10 con Duende IdentityServer
I JWT self-contained non possono essere revocati prima della scadenza. Scopri come i Reference Token di Duende IdentityServer in .NET 10 ti permettono di invalidare sessioni compromesse in...
Come strutturare un’applicazione ASP.NET Core in crescita: dal monolite a strati ai vertical slice
Feature Folders, Clean Architecture, Vertical Slices o Modular Monolith: una guida pratica per scegliere la struttura giusta per la tua applicazione ASP.NET Core in base alla complessità reale...