Sign in

Particular Software

@particular.net
234 followers 104 following 1.7K posts

Makers of NServiceBus and the most developer-friendly service platform for .NET

PostsRepliesMedia
Particular Software @particular.net · 28/09/2026
Insert after select?
110
Particular Software @particular.net · 27/09/2026
"It’s not because you broke your code. You broke your contract."
codeopinion.com
Avoid API Breaking Changes - CodeOpinion
API breaking changes happen when you expose implementation details. Learn how treating your API as a contract lets your internals evolve independently.
000
Particular Software @particular.net · 26/09/2026
See how easy it is to run an #NServiceBus endpoint with services.AddNServiceBusEndpoint(…) in #dotnet in this sample
docs.particular.net
Endpoint hosting with the Generic Host • NServiceBus Samples
Hosting an endpoint with the Microsoft Generic Host.
000
Particular Software @particular.net · 26/09/2026
"A handler that's safe to retry sequentially is a handler that has never been tested. Run two copies at once and see what your database says."
irina.codes
Your Idempotency Check Has a Race in It
Why check-then-act idempotency fails under concurrency, and how to fix it with unique constraints, atomic upserts, and optimistic concurrency.
110
Particular Software @particular.net · 25/09/2026
In JavaScript you can do "duck typing" - treat an object like a "duck" as long as it supports a "quack" operation. In C# we can't do that because of type safety… until Interceptors came around.
steven-giesel.com
Quack Quack: Duck-Typing in C# with Interceptors
If it walks like a duck and it quacks like a duck - it is a duck. So duck it and make that work in C# thanks to interceptors!
000
Particular Software @particular.net · 25/09/2026
Migrating a legacy app to the cloud, one bit at a time, while trying to keep the business code abstracted from the underlying infrastructure? The Messaging Bridge pattern can help. Check it out:
docs.particular.net
Messaging Bridge
Connect endpoints in a system that use different transports with the messaging bridge.
000
Particular Software @particular.net · 25/09/2026
Here it is, the yearly book (yes book, not kidding) on performance improvements in .NET … settle in and get comfortable!
devblogs.microsoft.com
Performance Improvements in .NET 11 - .NET Blog
Take a tour through hundreds of performance improvements in .NET 11.
001
Particular Software @particular.net · 24/09/2026
"If we…received an HTTP timeout, we would have no way of knowing if the server received the data and was simply unable to respond or if, rather, the data never arrived at all."
particular.net
Fallacy #1: The network is reliable
Anyone with a cable or DSL modem knows how temperamental network connections can be. The Internet just stops working, and the only way to get it going again is to unplug it for 15 seconds. (Or, put…
000
Particular Software @particular.net · 24/09/2026
Using Opus 5 Without Going Insane
lostechies.com
000
Particular Software @particular.net · 24/09/2026
"Then came REST, or in other words, 'something I invented myself over HTTP.' Each RESTful endpoint is that developer’s definition of what REST means…different from what every other developer thinks REST means."
particular.net
Fallacy #8: The network is homogeneous
Interoperability is painful. Around 2005 or 2006, it wasn’t so bad. Most of the code running on the planet, at least the code that mattered, was written in .NET or Java, and interoperability via web…
000
Particular Software @particular.net · 23/09/2026
Security isn't just about code. "We also need to have conversations with business, public relations, and legal teams so that the risks are well understood and to ensure that a plan is in place"
particular.net
Fallacy #4: The network is secure
There are a myriad of security-obsessed organizations scattered throughout the world that take security concerns to the verge of paranoia. In one such organization I’ve heard of, there existed two…
000
Particular Software @particular.net · 23/09/2026
Property-based testing: a technique that shifts your thinking from “does this specific example produce this specific output?” to “does this rule hold for any input my code might receive?”
code4it.dev
Testing beyond your imagination: Property-based testing in C# with FsCheck
Property-based testing is a powerful alternative to example-based testing. Instead of defining specific inputs and verifying their outcomes, you define properties that should always hold true. Let’s learn how to use FsCheck to write property-based tests in C# with NUnit.
000
Particular Software @particular.net · 23/09/2026
A delayed retry can let later messages overtake the failure. Preserving processing order then requires a hold-back that records the failed message in session state and refuses to process the backlog until that message succeeds.
planetgeek.ch
Azure Service Bus sessions: Delayed retries may need a hold-back
TL;DR: Most workflows are better off accepting out-of-order delivery and modeling the business process to cope with it. If strict order is a real requirement, however, Azure Service Bus sessions are only the start. A delayed retry can let later messages overtake the failure. Preserving processing order then requires a hold-back that records the failed...
000
Particular Software @particular.net · 23/09/2026
Most workflows are better off accepting out-of-order delivery and modeling the business process to cope with it. If strict order is a real requirement, however, Azure Service Bus sessions are only the start.
100
Particular Software @particular.net · 22/09/2026
Our docs site now includes an MCP server. Try it out and let us know what you think!
docs.particular.net
Particular Docs MCP Server overview • NServiceBus
The Particular Docs MCP Server is a Model Context Protocol server that adds up-to-date documentation as context to language models.
000
Particular Software @particular.net · 22/09/2026
This QueryStringConstraint attribute code lets you have different HTTP Get methods based on what querystring arguments are provided.
nodogmablog.bryanhogan.net
Multiple Get Methods with the Action Method Selector Attribute in .NET Core 10 | no dogma blog
I wrote about this back in the days of .NET Core 2.0. How to do this has changed in .NET 10.
000
Particular Software @particular.net · 22/09/2026
NServiceBus can process messages created on other platforms. Use a cross-platform queue like RabbitMQ, you can process messages from Ruby, Java, Python, PHP, Node.js, Rust, Groovy, C, C++, Go, iOS, Android… This blog post shows how and links to samples:
particular.net
Cross-platform integration with NServiceBus native message processing
When the Romans met the Gauls for the first time, they couldn’t talk to each other. The Romans spoke Latin, and Gauls a Celtic language. How could they communicate? It must have been difficult to…
000
Particular Software @particular.net · 21/09/2026
Eight Code Virtues. The better changes are those that improve several aspects at once, often by finding a representation that better expresses either the solution domain or the problem domain.
agileotter.blogspot.com
Eight Code Virtues
Some time ago, Jeff Langr and I came up with seven virtues for code in Agile in a Flash , and we wrote more about them over the years.  The...
010
Particular Software @particular.net · 21/09/2026
Can #messaging outperform #RPC? Find out in @udidahan’s Distributed Systems Design Fundamentals course, now available for free. #DSDF go.particular.net/l/27442/2026-03-1…
010
Particular Software @particular.net · 20/09/2026
same machine it was issued to. This makes session hijacking harder, as you can no longer simply extract the cookie and use it elsewhere; such a cookie would not be valid.
andrewlock.net
Understanding Device Bound Session Credentials (DBSC)
In this post I provide an introduction to Device Bound Session Credentials, I look at how DBSC protects against session hijacking, and how the protocol works
001
Particular Software @particular.net · 20/09/2026
Device Bound Session Credentials (DBSC) aim to provide a defence against "cookie theft" by allowing a server to verify that the authentication cookie is being used on the…
100
Particular Software @particular.net · 19/09/2026
and sorts. This article measures equality first, sort second, column ordering, index cost, and disk space, and when a dedicated single-column index becomes redundant, all verified against real Postgres query plans.
milanjovanovic.tech
SQL Indexing Explained: Composite Indexes and Column Order
What does a good SQL index look like? I seeded Postgres with 1 million comments and measured every indexing decision with EXPLAIN ANALYZE: a 17ms sequential…
000
Particular Software @particular.net · 19/09/2026
Why does adding an index sometimes speed up a query by 20x and other times do almost nothing? The answer usually isn't whether you have an index; it's whether the column order inside it matches how your query actually filters…
100
Particular Software @particular.net · 19/09/2026
In this video, @dvdstelt takes a different look at microservices and discusses why technology choice doesn’t change coupling or autonomy at all, and how we need to take a step back and stop sharing data between services
particular.net
Autonomous microservices don't share data
🔗Transcription 00:05 Dennis van der Stelt So welcome. Let's talk about autonomous services that don't share any data. And I added period because I strongly believe they shouldn't. But what kind of…
000
Particular Software @particular.net · 18/09/2026
conversations about distributed systems, messaging, event-driven architecture, and legacy modernization made this an incredible week. Until next time! 🚀 #dotnet #distributedsystems #softwarearchitecture
000
Particular Software @particular.net · 18/09/2026
That's a wrap for #ndcoslo! 👋 A huge thank you to everyone who stopped by the Particular Software booth, attended our sessions, shared your architecture challenges, and exchanged ideas with our team. The…
100
Particular Software @particular.net · 18/09/2026
Retries causing duplicates? Workflows breaking halfway? Services tightly coupled? Learn how to fix real microservice problems with ASP.NET Core + NServiceBus 10.
pluralsight.com
Microservice Architecture in ASP.NET Core
000
Particular Software @particular.net · 18/09/2026
If you need to integrate with another system in Azure, you can send an #AzureServiceBus message natively, and then process it with #NServiceBus. Check out the sample code!
docs.particular.net
Azure Service Bus transport native integration sample • Azure Service Bus Transport Samples
How to consume messages published by non-NServiceBus endpoints.
010
Particular Software @particular.net · 18/09/2026
💬 Last chance to meet the engineers behind @ParticularSW. If you're at #ndcoslo, share your architecture challenge. Bonus: While you're here, enter our raffle to win a LEGO Pac-Man Arcade. 👾 #dotnet #distributedsystems
001
Particular Software @particular.net · 18/09/2026
Last day at #ndcoslo! If you're building distributed systems or modernizing existing applications, stop by the @ParticularSW booth. Our engineers would love to hear what you're building
000
Particular Software @particular.net · 18/09/2026
So, you understand the value of messaging, but are having a hard time convincing your organization? You’re not alone. Join @udidahan in the #DSDF course to learn tips on convincing your manager to introduce messaging. go.particular.net/l/27442/2026-03-1…
000
Particular Software @particular.net · 17/09/2026
Come chat about legacy code, safe refactoring, testing, and modernizing existing systems. #ndcoslo #dotnet #legacycode #softwarearchitecture #testing
000
Particular Software @particular.net · 17/09/2026
Exploring a legacy codebase of your own? Or did @WilliamBZA 's Indiana Jones and the Temple of Legacy Code spark a few questions? 🤠 📍Continue the conversation with William at the Particular Software booth right after the session. If you miss him, stop by later; we'll help you connect.
100
Particular Software @particular.net · 17/09/2026
📍 Room 5 | 🗓️ Thu | 🕜 1:40 PM #ndcoslo #dotnet #legacycode #softwarearchitecture #testing
000
Particular Software @particular.net · 17/09/2026
🗺️ Legacy code doesn't have to stay a mystery. Join William's #NDCOslo session "Indiana Jones and the Temple of Legacy Code" to explore practical techniques for understanding, testing, and safely evolving legacy systems. Plus, it's fun! And no snakes…probably.
100
Particular Software @particular.net · 17/09/2026
Whether you have questions about message versioning, evolving event-driven systems, or event-driven architecture, she'd be happy to continue the conversation. #eventdrivenarchitecture #distributedsystems
000
Particular Software @particular.net · 17/09/2026
Saw @noctovis's Change is inevitable: Versioning event-driven systems at #NDCOslo? Or couldn't make it? 📍 Meet Laila at the @ParticularSoftware booth right after the session or during lunch.
100
Particular Software @particular.net · 17/09/2026
Use #NServiceBus for reliable messages and #SignalR for real-time update in perfect harmony. See how in this sample
docs.particular.net
Near Real-Time Occasionally-Connected Clients • NServiceBus Samples
How to relay NServiceBus events to occasionally-connected clients via SignalR.
000
Particular Software @particular.net · 17/09/2026
defaults. This article walks through measuring managed vs. native memory first, then ten ordered techniques for right-sizing pods in Kubernetes, plus how to load test the config locally before it ships.
ardalis.com
Top 10 Ways to Reduce .NET Memory Usage in Kubernetes
Ten practical, in-order techniques for cutting .NET pod memory usage in Kubernetes — GC tuning, EF Core, container images, and pod sizing — plus how to load test the changes locally and what's different in .NET 9 and .NET 10.
010
Particular Software @particular.net · 17/09/2026
Why are so many .NET pods in Kubernetes running at 1 to 2 GB of RAM when the actual managed heap and working set could be a fraction of that? The gap usually isn't one big problem; it's a stack of small, unexamined…
110
Particular Software @particular.net · 16/09/2026
Time is a crucial element in modeling business workflows. In this video, @indualagarsamy shows how to implement your business policies in such a manner that it truly revolves around your business so you can realize the DDD dream
particular.net
Evolving with the Changing Requirements: The DDD Dream
🔗Transcription 00:05 Indu Alagarsamy What I'm going to talk today, this talk is going to be, is requirements are going to be changing all the time and how can we keep up with those requirement…
000
Particular Software @particular.net · 16/09/2026
💬 One question we've been discussing today at #NDCOslo: How long do you keep old event versions around? Curious how your team approaches it. Come join the discussion at the @ParticularSW booth.
000
Particular Software @particular.net · 16/09/2026
📍 Visit @ParticularSW booth and chat with our developers #distributedsystems #messagingpatterns #softwarearchitecture
000
Particular Software @particular.net · 16/09/2026
🧠 This week's #NDCOslo workshops from Dylan Beattie, Ian Cooper, and Sam Newman explored the principles behind distributed systems. ⚙️ Wondering how these ideas apply to your own system?
110
Particular Software @particular.net · 16/09/2026
Hey #NDCOslo! 👋 Meet the engineers behind Particular Software! @SzymonPobiega @PoornimaNayar @Masternak and Andreas are here. Building a #distributedsystems? Bring your architecture questions. We'd love to talk messaging, event-driven systems, reliability, and real-world trade-offs. #dotnet
011
Particular Software @particular.net · 16/09/2026
How do you find latency that a CPU profiler says isn't there? This post walks through isolating the right process in a distributed .NET Aspire app, then adding targeted instrumentation to catch an accumulated Task.Delay hiding roughly 10 seconds inside a streaming response loop.
devblogs.microsoft.com
Today I will... find hidden latency across a distributed .NET application - Visual Studio Blog
When a distributed application feels slow, the user sees one delay. The code behind that delay may run across a web frontend, backend services, databases,
000
Particular Software @particular.net · 15/09/2026
Farewell, #VSLive 💜 To the amazing organizers and everyone who stopped by to chat, share, and connect - thank you for making it unforgettable. Wishing you safe travels and smooth landings. Until next time ✈️
000
Particular Software @particular.net · 15/09/2026
Come find us at our #VSLive booth to dive into messaging patterns, service-oriented architecture, and all things distributed system #Particular
vslive.com
Visual Studio Live!: Training Conferences and Events for Enterprise Microsoft .NET and Azure Developers
000
Particular Software @particular.net · 15/09/2026
Coming up at #VSLive - Hazel Bohon presents Microservices for Pragmatists📍 T08 | 🗓️ Tues, September 15 | 🕤 9:30AM
vslive.com
Microservices for Pragmatists -- Visual Studio Live!: Training Conferences and Events for Enterprise Microsoft .NET and Azure Developers
000
Particular Software @particular.net · 15/09/2026
API payloads that can take more than one JSON shape. This post from the .NET team walks through when to use each across Minimal APIs, MVC, SignalR, and Blazor.
devblogs.microsoft.com
Use C# unions and closed hierarchies in ASP.NET Core - .NET Blog
Learn how C# unions and closed hierarchies work with System.Text.Json across ASP.NET Core Minimal APIs, MVC, SignalR, Blazor, and OpenAPI.
000