Tags

#architecture
architecture

44stories
1 d agolatest
Cosmos DB
Split changes across workers
CCC# Corner Niharika Gupta 4 d ago

Balancing Azure Cosmos DB Change Feed work across multiple workers

The Azure Cosmos DB Change Feed Processor spreads change processing across several .NET workers using a lease container for ownership and checkpoints. The article walks through the setup in the .NET SDK and explains when adding workers actually helps. It also covers why downstream operations must be idempotent, since changes can be delivered again after a failure.

.NET 10
Slices or layers?
CWMukesh Murugan (codewithmukesh) Mukesh Murugan 4 d ago

Vertical Slice vs Clean Architecture in .NET 10: the hybrid layout

The author compares Vertical Slice and Clean Architecture on the same Product API in .NET 10, counting the files each layout touches for one new feature. He then presents a hybrid layout that keeps the Domain project, drops the Application project, and groups endpoints by feature. It is a practical reference for teams deciding how to structure a Web API.

Fabric IQ
Business meaning for agents
KCKunal Chowdhury [email protected] (Kunal Chowdhury) 4 d ago

Microsoft Fabric IQ: ontologies for Data Agents and Operations Agents

Microsoft Fabric IQ is a new Fabric workload that maps OneLake tables, Power BI semantic models and real-time Eventhouse streams to shared business entities. Its Ontology item, currently in preview, lets Fabric Data Agents and Operations Agents work with business concepts instead of raw schemas. Read on if you are deciding whether to model business meaning before connecting LLMs to your data.

EF Core
Keep tenant data apart
DVDEV Community: #efcore Zohaib Ahmad 5 d ago

Multi-tenancy in EF Core: no tenant means no rows

The author shows a multi-tenancy pattern for ASP.NET Core and EF Core that uses global query filters so each request only sees its own tenant's rows. When no tenant is set, filtered queries return nothing, which fails closed. The post also covers tenant-scoped unique indexes, limiting IgnoreQueryFilters(), and an integration test that checks cross-tenant access. It is a practical starting point for SaaS backends.

Wolverine
Handlers as pure logic
JXJasperFx (Critter Stack) Blog Jeremy Miller 5 d ago

Wolverine Best Practices Revisited: A-Frame and Handler Design

JasperFx rewrote the Wolverine best practices guide from scratch, replacing the 2023 version. The new guide centers on the A-Frame Architecture and gives concrete advice on splitting handlers, error handling, and at-least-once messaging rules. It is a practical reference for .NET teams building messaging systems with Wolverine.

ServiceComposer
Typed models, no shared code

ServiceComposer: strongly typed view models without shared coupling

Mauro Servienti examines how strongly typed view models in ServiceComposer can reintroduce the coupling that ViewModel Composition is meant to remove. He proposes per-service interfaces for response models and per-service request models for decomposition, and discusses a DispatchProxy idea that would drop the concrete class. Read on for the trade-offs and deployment caveats, including property name collisions.

AI in ASP.NET Core
Build a knowledge assistant
DVDEV Community: #dotnet AI Engineering Foundry 6 d ago

Building an AI Knowledge Assistant with ASP.NET Core

This tutorial shows how to grow a single LLM call into a production-ready AI feature on ASP.NET Core. It covers authentication, retrieval-augmented generation, security and failure handling. It is a practical roadmap for .NET developers who want the model to stay a replaceable dependency inside their application.

.NET 10
Directory data isn't yours
HBHabr C# (ru) Nurlan-Turkpenbay 6 d ago

DDD in an LDAP web console: what worked, what was cut, and why tests guard layers

Axia is an open-source .NET 10 web console and REST API for Active Directory and OpenLDAP. Its author explains why half of the initial DDD design was dropped after several security reviews. The article covers what paid off, including value objects, ports and adapters, and architecture tests, and what was replaced, such as domain-event auditing.

Marten 8
Read your own writes

Read your own writes with Marten: ProjectLatest and Wolverine's UpdatedAggregate

Jeremy D. Miller explains how to read your own writes in event-sourced systems that use async projections in Marten. Switching from FetchLatest to ProjectLatest removes an extra database round trip by reusing pending events in the session. Wolverine's UpdatedAggregate type then lets HTTP endpoints and message handlers return the current aggregate with less code.

MauiReactor
UI without bindings
TKTelerik Blogs (Progress) Héctor Pérez Oct 26

Exploring MauiReactor and the MVU pattern in .NET MAUI

MauiReactor is a library that brings the MVU (Model-View-Update) pattern to .NET MAUI, letting you define UI in fluent C# without XAML or bindings. This article builds a habit tracker step by step, covering stateful components, [Prop] parameters for child components and how SetState triggers re-rendering. It is a useful starting point for developers curious about a reactive alternative to MVVM, keeping in mind the library is not officially supported by the .NET MAUI team.

Relevance framework
In-process recommendations
MLMostly Lucid (Scott Galloway) Scott Galloway Oct 26

Mostlylucid.Relevance: SQLite-backed recommendations for .NET apps

Part 5 of Scott Galloway's series packages the recommendation and intervention ideas from earlier parts into Mostlylucid.Relevance, a framework that runs inside the application process and keeps its state in SQLite. It can serve several isolated domains at once, and an optional native package adds an HNSW vector index. The package also ships an AGENTS.md guide describing extension points and invariants for developers and their coding assistants.

FusionCache 2.9
Two-layer product cache
DVDEV Community: #dotnet nikosst Oct 25

Two-level caching in .NET with FusionCache and Redis

This guide shows how to combine FusionCache's in-process L1 memory with a shared Redis L2 layer in a product catalog API. The author keeps Clean Architecture boundaries intact and focuses on correct cache behavior rather than raw speed numbers. It is a practical starting point for developers who run several instances and need to plan freshness and invalidation.

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message