"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…
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/blogPost/5…
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/nservice…
"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/blog/the-netw…
"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/blog/the-netw…
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/blog/the-netw…
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/blog/property-ba…
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 message in session state and refuses to process the backlog until that message succeeds. planetgeek.ch/2026/09/15/azu…
This QueryStringConstraint attribute code lets you have different HTTP Get methods based on what querystring arguments are provided. nodogmablog.bryanhogan.net/2…
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/blog/cross-pl…
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/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 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…
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 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/blog/how…
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/videos/autono…
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 conversations about distributed systems, messaging, event-driven architecture, and legacy modernization made this an incredible week.
Until next time! 🚀
#dotnet#distributedsystems#softwarearchitecture
Retries causing duplicates? Workflows breaking halfway? Services tightly coupled? Learn how to fix real microservice problems with ASP.NET Core + NServiceBus 10. pluralsight.com/courses/micr…