Particular Software

@particular.net

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

Whether you want to have a CancellationToken directly in your NServiceBus Handle method, or inject dozens of different services from DI (but please don't?!) the IHandleMessages<T> interface no longer stands in your way.

Convention-based message handlers

In the previous post, we talked about how NServiceBus version 10.2 can now host multiple endpoints within the same host process. Since we’re already talking about removing constraints and limitations…

particular.net

Amazon SQS. Amazon SNS. AWS Lambda. DynamoDB. OpenTelemetry. They're powerful on their own - but the real value comes from how they work together. The AWS Loan Broker Showcase demonstrates…

Building distributed systems is about much more than sending messages. The Loan Broker Showcase demonstrates orchestration, messaging patterns, observability, cloud services, and operational concerns in a complete reference application.

We removed the requirement to use IHandleMessages&lt;T&gt; for handler methods, but we also added Roslyn code fixes to provide scaffolding for a handler that your editor would have given you via the "Implement this interface" feature.

Convention-based message handlers

In the previous post, we talked about how NServiceBus version 10.2 can now host multiple endpoints within the same host process. Since we’re already talking about removing constraints and limitations…

t.co

Have you ever just wanted to head out on the road with your laptop and become a digital nomad? Hear how @adamralph did it, touring 7 countries in 7 months. Discover the tips and tricks he learned to make the most out of the ultimate in remote working

Code on the Road

🔗Transcription 00:10 Adam Ralph So yes, it's always great to be here. Thank you for coming to this keynote. I'm sorry I'm not Hadi, but I'll do my best to fit in. He definitely owes me a beer later…

particular.net

What if tomorrow’s code could live in the same place as today’s code? What if it all looked the same? What if we could scale it all the same way? In this video, @adamralph will show you how to embrace the future in the code we write now

Code the future, now

🔗Transcription 00:10 Adam Ralph Hi, everyone. You hear me right? Yeah, sounds like it. So thank you very much for coming to my talk. Thank you for spending the next hour with me. My name is Adam, and…

particular.net

Want to understand event-driven architecture on Azure? The Azure Loan Broker Showcase brings together Azure Service Bus, Azure Functions, Azure SQL, and OpenTelemetry in a complete distributed application.

Kevin Smith compares two ways to handle unrecognized enum values from an API: falling back to an Unknown case, which is simple but loses the raw string, versus a string backed value type that preserves the original value and composes well with prefix based statuses.

Enums in API Contracts: Don't Let Your Status Values Break the World

How to consume enum values over APIs in a non-breaking way, and why the string-backed value type pattern is worth reaching for before you default to a plain C# enum.

kevsoft.net

Distributed systems aren't a collection of services - they're the interactions between them. The AWS Loan Broker Showcase demonstrates how Amazon SQS, SNS, Lambda, and DynamoDB come together in a realistic business workflow - with monitoring, tracing, and operational tooling included.

We've overhauled NServiceBus to allow you to host multiple logical endpoints in a single host process, including tools to register only those handlers and sagas that belong to each endpoint, without sacrificing the ease of use that assembly scanning gave you before.

Multiple endpoint hosting

Explore how multi-endpoint hosting in NServiceBus enables isolated endpoints inside a single .NET process while preserving clear operational boundaries.

particular.net

You've heard of IHandleMessages<T>, right? That interface you have to implement for every single NServiceBus message handler? It's a bit limiting, don't you think? Strict interface. Can't add a CancellationToken. Can't inject a logger.

If AddSource in your OpenTelemetry setup doesn't exactly match your ActivitySource name, your traces get created, tagged, and silently dropped with no error. How many teams have chased that as a mystery bug? Bart Wullems explains in this blog post.

The role of ActivitySource in OpenTelemetry for .NET

While doing some pair programming to integrate OpenTelemetry tracing to a .NET application, we had a discussion on how to use the ActivitySo...

bartwullems.blogspot.com