Particular Software
@particular.net
📤 178
📥 102
📝 913
Makers of NServiceBus and the most developer-friendly service platform for .NET
Overusing async, unmanaged resources, and DateTime pitfalls are still common in C#. Read about some of the common mistakes in C# that can cost you and ways to steer clear of them in this C# Corner article
loading . . .
Common C# Mistakes Even Senior Developers Make
Avoid common C# pitfalls! Even experienced developers make mistakes like misusing async/await, ignoring IDisposable, and over-abstracting. Learn to write better C# code.
https://www.c-sharpcorner.com/article/common-c-sharp-mistakes-even-senior-developers-make/
about 5 hours ago
0
0
0
Understanding how a saga behaves across its full lifecycle can be tricky. But it doesn’t have to be! With the Particular Service Platform, you’ll see a visual timeline…
about 13 hours ago
1
0
0
Allow your endpoints to talk to each other, even if they use different transports. NServiceBus.Transport.Bridge is now available
loading . . .
Messaging Bridge
Connect endpoints in a system that use different transports with the messaging bridge.
https://docs.particular.net/nservicebus/bridge/
about 13 hours ago
0
0
0
Watch this video for a deep dive into Async in .NET with @danielmarbach. Even if you think you know async inside and out…you probably don't
loading . . .
Cliff diving into async in .NET Core and C# 8
🔗Transcription 00:00 Daniel Marbach Hey, everyone. Can you hear me? Perfect. Did you have a good night's sleep, everyone? That's what I thought, because if anyone had said, "Yes," I would have said,…
https://particular.net/videos/async-in-net-core
about 21 hours ago
0
0
0
Ensure reliable message processing with NServiceBus’s PostgreSQL transport. Choose the transaction mode that fits your needs and keep your data safe.
loading . . .
PostgreSQL transport
An overview of the NServiceBus PostgreSQL transport.
https://docs.particular.net/transports/postgresql/
1 day ago
0
1
0
Just because your handler is idempotent doesn’t mean side effects (like charging a card) are. Concurrency + external APIs can still bite you. Read the latest article by @codeopinion that discusses this problem and some solutions
loading . . .
Your Idempotent Code Is Lying To You - CodeOpinion
Idempotent handlers aren’t automatically safe. Here’s why “idempotent” can still mean duplicate side effects, and what patterns actually work.
https://codeopinion.com/your-idempotent-code-is-lying-to-you/
1 day ago
0
0
0
We have a NuGet package called ParticularTemplates which includes templates you can use with dotnet new, including this template for creating an NServiceBus
#Docker
container host
loading . . .
dotnet new Templates • ParticularTemplates
https://docs.particular.net/nservicebus/dotnet-templates/#nservicebus-docker-container
2 days ago
0
0
0
If you've ever wondered why you shouldn't just use RabbitMQ directly, this interview with Udi Dahan can be quite revealing
loading . . .
WatchMeCode with Derick Bailey & Udi Dahan
🔗Transcription 00:22 Derick Bailey So I'm here today with Udi Dahan, CEO of Particular Software and world renowned speaker and blogger. And far more than that, also the creator of NServiceBus, a…
https://particular.net/videos/watchmecode-with-derick-bailey-udi-dahan
2 days ago
0
0
0
You can't future-proof software architecture — the future just breaks assumptions. What you can do is control where change ripples through your system. Read more in this blog by @codeopinion
loading . . .
You Can’t Future-Proof Software Architecture - CodeOpinion
"Future-Proof Software Architecture" sounds like a good idea, but reality is you can't. What you can do is control the blast radius.
https://codeopinion.com/you-cant-future-proof-software-architecture/
3 days ago
0
1
1
Kafka, RabbitMQ & SQS all move messages — but cost, scaling behavior & real production surprises matter more than on-paper benchmarks. Lessons learnt the hard way discussed here..
loading . . .
Kafka vs RabbitMQ vs AWS SQS — I Lost $30K Choosing Wrong
The message queue looked perfect on paper. Three months later, our AWS bill made my stomach drop.
https://medium.com/@speedcraft21/kafka-vs-rabbitmq-vs-aws-sqs-i-lost-30k-choosing-wrong-3c5d9980efc9
4 days ago
0
0
0
Your system doesn't have to be 100%
#serverless
. Check out an example of how @AzureFunctions can be used to perform a cleanup activity on an NServiceBus system using Azure Blob Storage to store blobs with the Claim Check pattern
loading . . .
Azure Blob Storage Data Bus Cleanup with Azure Functions • Azure Blob Storage Databus Samples
Using an Azure Function instead of the built in blob cleanup capabilities.
https://docs.particular.net/samples/databus/blob-storage-databus-cleanup-function/
5 days ago
0
1
0
"Distributed systems do not fail because you missed a feature. They fail because responsibility is unclear. Two nodes act, both think they are right, and your data becomes a debate.…
5 days ago
1
0
0
Watch this video for a deep dive into Async in .NET with @danielmarbach. Even if you think you know async inside and out…you probably don't
loading . . .
Cliff diving into async in .NET Core and C# 8
🔗Transcription 00:00 Daniel Marbach Hey, everyone. Can you hear me? Perfect. Did you have a good night's sleep, everyone? That's what I thought, because if anyone had said, "Yes," I would have said,…
https://particular.net/videos/async-in-net-core
5 days ago
0
1
0
"What is missing from this process is an understanding of why tests work in the first place. Tests work best when you have seen them fail."
loading . . .
AI-generated tests as ceremony
On epistemological soundness of using LLMs to generate automated tests.
https://blog.ploeh.dk/2026/01/26/ai-generated-tests-as-ceremony/
6 days ago
0
0
0
If you're updating to .NET 10 and using Azure Storage Queues, you'll need this patch to deal with a build error due to a breaking change Microsoft introduced around the AsyncEnumerable…
6 days ago
1
1
0
Does debugging failed messages feel like guesswork? A focused retry workflow makes context clear and recovery safer. See how to handle failed messages in the Particular Service Platform
loading . . .
Retrying failed messages • ServicePulse
Describes the concept and lifecycle of retrying messages in ServicePulse.
https://docs.particular.net/servicepulse/intro-failed-message-retries
6 days ago
0
0
0
Did you know you can completely replace Windows File Explorer?
loading . . .
The Windows File Explorer replacement, File Pilot, is awesome
In this post I describe my experience with the Windows File Explorer replacement, File Pilot. It's blazingly fast, feature rich, and has hotkeys everywhere
https://andrewlock.net/windows-explorer-replacement-filepilot-is-awesome/
7 days ago
0
0
0
We have a NuGet package called ParticularTemplates which includes templates you can use with dotnet new, including this template for creating an NServiceBus
#Docker
container host
loading . . .
dotnet new Templates • ParticularTemplates
https://docs.particular.net/nservicebus/dotnet-templates/#nservicebus-docker-container
7 days ago
0
0
0
#RabbitMQ
has clients for just about any language, and
#NServiceBus
can process messages from all of them
loading . . .
RabbitMQ transport native integration sample • RabbitMQ Transport Samples
Consuming messages published by non-NServiceBus endpoints.
https://docs.particular.net/samples/rabbitmq/native-integration/
7 days ago
0
0
0
If you've ever wondered why you shouldn't just use RabbitMQ directly, this interview with Udi Dahan can be quite revealing
loading . . .
WatchMeCode with Derick Bailey & Udi Dahan
🔗Transcription 00:22 Derick Bailey So I'm here today with Udi Dahan, CEO of Particular Software and world renowned speaker and blogger. And far more than that, also the creator of NServiceBus, a…
https://particular.net/videos/watchmecode-with-derick-bailey-udi-dahan
8 days ago
0
1
0
When a workflow spans many messages, it becomes impossible to see what happened first, which state changed, and why a timeout fired. But with the Particular Service Platform, the impossible becomes possible. Take a look to see it in action.
loading . . .
Saga Diagram • ServicePulse
The saga diagram illustrates how a saga is initiated, the messages it sends or handles, and details about saga data changes.
https://docs.particular.net/servicepulse/saga-diagram
8 days ago
0
0
1
"2413 exceptions last night." … "Only? Did one of the batches crash?" If this sounds like a conversation you've had recently, find out a better way to deal with exceptions. I caught an exception. Now what?
loading . . .
I caught an exception. Now what?
I can’t draw to save my life, but I love comics, especially ones that capture the essence of what it’s like to be a software developer. They capture the shared pain we all go through and temper it…
https://particular.net/blog/but-all-my-errors-are-severe
8 days ago
0
0
0
"Today, we have DSL and cable modems; tomorrow, fiber may be widespread. But although bandwidth keeps growing, the amount of data and our need for it grows faster. We'll never be satisfied." The 3rd Fallacy: Bandwidth is infinite
loading . . .
Fallacy #3: Bandwidth is infinite
Everyone who is old enough to remember the sound of connecting to the Internet with a dial-up modem or of AOL announcing that “You’ve got mail” is acutely aware that there is an upper limit to how…
https://particular.net/blog/bandwidth-is-infinite
9 days ago
0
0
0
Great news, NServiceBus version 10 has been released! Check out the announcement for details and a link to the upgrade guide.
loading . . .
NServiceBus 10.0.0 – Major release available
Hi everyone, We’ve just released NServiceBus 10.0.0. To see what has changed and for guidance on how to migrate, take a look at the NServiceBus version 9 to 10 upgrade guide . Regular support for NServiceBus 9 expires on January 29th, 2028 and extended support expires on January 29th, 2030. See our support policy for more information. Critical support is provided on a best effort basis for unsupported versions. Please read our release policy for more details. If you need assistance to migra...
https://discuss.particular.net/t/nservicebus-10-0-0-major-release-available/4532
9 days ago
0
1
1
Don't miss our live webinar in less than 48 hours! Even if you can’t make it live, register, and we’ll send you the recording when it’s available. Effortless Distributed Systems with Aspire, with @jasontaylordev
loading . . .
Effortless Distributed Systems with Aspire
See how Aspire, NServiceBus, and Azure Developer CLI simplify building distributed systems in this interactive session. …
https://particular.net/webinars/effortless-distributed-systems-with-aspire
9 days ago
0
0
1
Many systems become harder to evolve because early decisions were made to support imagined scenarios. @CodeOpinion shows how clear boundaries, simple models, and decisions grounded in present requirements avoid the speculative features that make architecture brittle over time.
loading . . .
You Can’t Future-Proof Software Architecture - CodeOpinion
"Future-Proof Software Architecture" sounds like a good idea, but reality is you can't. What you can do is control the blast radius.
https://codeopinion.com/you-cant-future-proof-software-architecture/
10 days ago
0
0
0
We had so much fun playing ACKS and Exceptions with attendees at
#NDCLondon
that we thought it would be a shame to not share it with everyone.
loading . . .
https://particular.net/docs/acks-and-exceptions.pdf?utm_source=swag&utm_campaign=2026+NDC+London
11 days ago
0
0
0
Most developers know how to build services, but what about wiring them together reliably, debugging failures, and deploying without breaking everything? Find out in our live webinar with @jasontaylordev on February 4.
loading . . .
Effortless Distributed Systems with Aspire
See how Aspire, NServiceBus, and Azure Developer CLI simplify building distributed systems in this interactive session. …
https://particular.net/webinars/effortless-distributed-systems-with-aspire
12 days ago
0
0
0
Switching between tools adds friction when diagnosing issues; the All Messages view in the Particular Service Platform keeps message review and filtering in one place
loading . . .
Audited/Failed Message Display and Discovery • ServicePulse
Describes how ServicePulse displays and allows filtering for audited and failed messages.
https://docs.particular.net/servicepulse/all-messages
12 days ago
0
0
0
Join William Brander today at
#NDCLondon
at 13:40 in Room 3 for Indiana Jones and the Temple of Legacy Code, a dive into the unexplored mysteries of lagacy code systems. 🤠🛕🐍
loading . . .
Indiana Jones and the Temple of Legacy Code | NDC London 2026
Legacy systems are like ancient temples: full of mystery, danger, and long-forgotten knowledge.
https://ndclondon.com/agenda/indiana-jones-and-the-temple-of-legacy-code-068w/0aqdgxiar35
12 days ago
0
0
0
Curious how to remove friction from architecture, orchestration, messaging, observability, and deployment? Find out with @jasontaylordev in our live webinar on February 4.
loading . . .
Effortless Distributed Systems with Aspire
See how Aspire, NServiceBus, and Azure Developer CLI simplify building distributed systems in this interactive session. …
https://particular.net/webinars/effortless-distributed-systems-with-aspire
12 days ago
0
0
0
Join @jasontaylordev for a live webinar: Effortless Distributed Systems with Aspire, February 4 at 01:00 UTC. Learn how Aspire orchestrates services with reliability & observability, NServiceBus improves resilience, and Azure Developer CLI streamlines dev→cloud.
loading . . .
Effortless Distributed Systems with Aspire
See how Aspire, NServiceBus, and Azure Developer CLI simplify building distributed systems in this interactive session. …
https://particular.net/webinars/effortless-distributed-systems-with-aspire
12 days ago
0
1
1
Zero downtime sounds simple until a schema change breaks older code paths that are still in flight. In this post, Milan Jovanovic uses a password hashing upgrade to show how phased transitions keep systems stable during live migrations.
loading . . .
A Practical Demo of Zero-Downtime Migrations Using Password Hashing
A practical demo of the zero-downtime migration pattern: run old + new password hash formats side-by-side, migrate users on login, and remove legacy safely.
https://www.milanjovanovic.tech/blog/a-practical-demo-of-zero-downtime-migrations-using-password-hashing
13 days ago
0
0
0
Failed messages are like Thanos: Inevitable. What matters is being able to see why they failed and retry them safely once the issue is fixed. Seems practical, right? See how teams handle retries without making things worse
loading . . .
Retrying failed messages • ServicePulse
Describes the concept and lifecycle of retrying messages in ServicePulse.
https://docs.particular.net/servicepulse/intro-failed-message-retries
13 days ago
0
0
0
When building a UI, if one microservice has to ask for data from another microservice, then those services aren't truly autonomous. Learn how to build a composite UI the right way from @mauroservienti in this video
loading . . .
Designing a UI for Microservices
🔗Transcription 00:01 Mauro Servienti So welcome again. And welcome to Designing a UI for Microservices. As said, my name is Mauro Servienti. So I'm a remote worker. So I'm fully working remotely for…
https://particular.net/videos/designing-a-ui-for-microservices
13 days ago
0
0
0
How do you keep your Minimal API from leaking database structure into client code and JSON? Chris Woodruff explores why clear data boundaries matter and why stable contracts help protect clients as systems evolve.
loading . . .
Enterprise Patterns for ASP.NET Core Minimal API: Data Transfer Object Pattern - Chris Woody Woodruff | Fractional Architect
Your domain model exists to protect your business rules.Your API exists to protect your clients. When you expose EF Core entities directly from your ASP.NET Core endpoints, you throw both of those protections away. The Data Transfer Object Pattern (DTO) is the line in the sand. DTOs carry data across boundaries. They flatten and optimize
https://woodruff.dev/enterprise-patterns-for-asp-net-core-minimal-api-data-transfer-object-pattern/
14 days ago
0
0
0
Async code looks simple until a small blocking call creates a deadlock that only appears under load. This talk shows how context capture, sync boundaries, and thread starvation create surprising bottlenecks across services.
loading . . .
https://www.youtube.com/watch?v=a_O53k9mexk
14 days ago
0
0
0
Ready to get the most out of your messaging platform? Join Poornima today at
#NDCLondon
at 10:20 in Room 1 for Beyond Pub/Sub - Advanced Messaging Patterns where she will dive into patterns that address the toughest challenges in distributed systems.
loading . . .
Beyond Pub/Sub - Advanced Messaging Patterns | NDC London 2026
Publish/subscribe is often the first pattern teams adopt when moving toward asynchronous, message-based architectures. It’s a powerful way to decouple services and enable extensibility—but on its own, pub/sub doesn’t solve many of the problems that show up in real distributed systems, such as data loss, broken workflows, or systems that struggle under load.
https://ndclondon.com/agenda/beyond-pubsub-advanced-messaging-patterns-07od/0opisnwzfkt
14 days ago
0
1
0
Systems that process frequent updates or partial state changes often struggle to stay responsive and hit limits. This post explains why those patterns put pressure on storage…
14 days ago
1
0
0
Distributed systems often hide race conditions that only show up under load. In this post, Oskar Dudycz explains how a read model rebuild can miss events even when the design looks correct on paper, and why making that blind spot observable leads to safer systems.
loading . . .
On rebuilding read models, Dead-Letter Queues and Why Letting Go is Sometimes the Answer - Event-Driven.io
Event-Driven by Oskar Dudycz
https://event-driven.io/en/rebuilding_read_models_skipping_events/
15 days ago
0
0
0
"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." The 1st Fallacy of Distributed Computing: The network is reliable
loading . . .
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…
https://particular.net/blog/the-network-is-reliable
15 days ago
0
0
0
The saga diagram gives teams a way to inspect the full lifecycle of a saga instance, from incoming messages to outgoing actions, all in one place. See what that looks like in the Particular Service Platform.
loading . . .
Saga Diagram • ServicePulse
The saga diagram illustrates how a saga is initiated, the messages it sends or handles, and details about saga data changes.
https://docs.particular.net/servicepulse/saga-diagram
15 days ago
0
0
0
Migrating from on-prem to the cloud? Don't forget your bridge
loading . . .
What they don't tell you about migrating a message-based system to the cloud
Migrating a message-based system from on-premises to the cloud is a colossal undertaking. If you search for “how to migrate to the cloud”, there are reams of articles that encourage you to understand…
https://particular.net/blog/messaging-bridge-migrating-to-the-cloud
16 days ago
0
0
0
What happens when an architect approaches a system with both a wide lens and a simplicity-first mindset? In this article, Chris Woodruff shows how that combination supports clearer decisions and more predictable outcomes.
loading . . .
Systems Thinking Meets Simplicity-First: A Decision Framework for Software Architects - Chris Woody Woodruff | Fractional Architect
Modern technology operates in a paradox. Our tools have never been more powerful, yet our systems have never felt more fragile. Every framework, pipeline, and process claims to simplify development, but most end up multiplying dependencies and eroding clarity. In that chaos, two guiding philosophies emerge: Systems Thinking and Simplicity-First. At first glance, they seem
https://woodruff.dev/systems-thinking-meets-simplicity-first-a-decision-framework-for-software-architects/
16 days ago
0
0
0
Have you ever wondered why retries and idempotent APIs still fail to prevent lost events inside a service? This article breaks down how the Outbox pattern closes that gap and why it pairs naturally with idempotent consumers.
loading . . .
Outbox Pattern in .NET: Reliable Event Publishing Beyond Idempotent APIs
Learn how the Outbox Pattern solves dual-write failures in .NET systems. Covers EF Core implementations, MassTransit, NServiceBus, observability, migration strategies, and high-performance optimizations for event-driven architectures.
https://developersvoice.com/blog/architecture/mastering-outbox-pattern-distributed-net/
16 days ago
0
0
0
Learn how to build something like Gmail's Undo Send, where there's a "Buyer's Remorse" period before an action is made permanent, using NServiceBus saga timeouts
loading . . .
NServiceBus sagas: Timeouts
Implement the buyer's remorse pattern using NServiceBus, a common business case to cancel orders within a certain amount of time after the purchase.
https://docs.particular.net/tutorials/nservicebus-sagas/2-timeouts/
17 days ago
0
1
0
Static analysis, technical debt as “interest”, and CQLinq-powered queries for large .NET codebases all come together in this new Modern .NET Show episode on NDepend with Patrick Smacchia. Listen here:
loading . . .
S08E10 - NDepend with Patrick Smacchia: Scaling .NET Code Quality
Jamie Taylor chats with Patrick Smacchia from NDepend about mastering large, complex .NET codebases. Discover how NDepend, a static code analyser, can help you identify and quantify technical debt, improve code quality, and reduce the risk associated with legacy systems. Patrick explains how NDepend goes beyond basic code analysis, offering a 360-degree view of your solution – integrating with tools like Resharper and providing actionable insights into areas needing refactoring or improved test coverage. They also discuss the role of AI in modern code analysis and how NDepend is adapting to ensure developers remain in control. Learn how to move from identifying issues to understanding their *cost* and prioritising remediation.
https://dotnetcore.show/season-8/ndepend-with-patrick-smacchia-scaling-net-code-quality/
18 days ago
0
1
0
Check out how to easily create an NServiceBus
#Docker
container by using dotnet new and our templates package
loading . . .
dotnet new Templates • ParticularTemplates
https://docs.particular.net/nservicebus/dotnet-templates/#nservicebus-docker-container
19 days ago
0
0
0
Are you going to
#NDCLondon
? There is an amazing agenda, and we're proud to have some of our speakers there. Check out the schedule to see what talks Poornima Nayar and William Brander have in store for you! @NDC_Conferences
loading . . .
Agenda - NDC London 2026 | Conference for Software Developers
NDC London 2026 is a 5-day event for Software Developers, 26-30 Jan at the Queen Elizabeth II Centre, Westminster.
https://ndclondon.com/agenda
19 days ago
1
0
0
Do you feel the weight of complexity dragging down your system? You're not alone. Watch this webinar recording for strategies that might help. Finding your service boundaries: a practical guide with @adamralph
loading . . .
Finding your service boundaries: a practical guide
We know it’s useful to split up complex systems. We’ve seen the benefits of modular deployment of microservices. Dealing with only one piece of code at a time eases our cognitive load. But how do we…
https://particular.net/webinars/finding-your-service-boundaries-a-practical-guide
19 days ago
0
1
0
Load more
feeds!
log in