Build (much) better .NET systems
The next major release of NServiceBus is here, featuring considerable performance improvements, top to bottom async support and an even cleaner API.
What's new in NServiceBus 6.0
Backed by our extensive suite of acceptance tests, end-to-end tests, performance tests, and wire-compatibility tests, NServiceBus is now more reliable than ever.
Make blocking threads on I/O operations a thing of the past with our top to bottom async support.
Get on-premises level consistency guarantees in the cloud with atomic send + receive on Azure Service Bus.
Scale out MSMQ in a new way, without the distributor component.
More discoverable config
Free yourself from App.config with a code-focused configuration API.
Read the upgrade guide
Start a new project
Talk to a Solution Architect
How to upgrade NServiceBus 5.x handlers to 6.0
Frequently asked questions
The most up-to-date version of NServiceBus can be downloaded from NuGet from within Visual Studio.
According to our support policy, NServiceBus Version 5 will retain mainstream support until October 11, 2018.
If you have not used async/await before, you may want to get started with our Async/Await webinar series. You can also watch our screencast showing how to update NServiceBus handlers to async/await, and then read our guidance on asynchronous handlers for more in-depth information. Finally, check out our Async/await tips and tricks post for the best tips, tools, and tricks for managing async code effectively.
We have a new Introduction to NServiceBus tutorial that will teach you how to get started with NServiceBus, send commands, publish events, and rety errors.
There are currently no plans to update the book. Instead, we recommend our new Introduction to NServiceBus tutorial, which is targeted for NServiceBus Version 6.
In NServiceBus 6 we replaced the IBus with a new set of context-specific interfaces that are more intuitive and easier to test. Find out more in the article NService... umm, where's the bus?
Previously, this attribute was required on saga data to identify the correlation property, like an OrderId, that would match up with a message property to identify the correct saga. In Version 6 we made API improvements that make the attribute unnecessary. NServiceBus can now determine the correlation property based on the saga's message mappings, and alert you if you forget to define them. Details on the improvements to the Saga API can be found in NServiceBus Sagas, simplified.
We would love to help! Get in touch with a Solution Architect and we'll do whatever we can for you.
This list of resources will help you learn about NServiceBus 6.0 and related topics.
We will continue to update this list as we add additional content.
- Async/Await Webinar Series
In this 3-part webinar series, learn how to avoid common pitfalls in asynchronous codebases.
- Udi Dahan interview on .NET Rocks
Carl and Richard interview Udi and talk about NServiceBus 6.0.
- Async/Await: it's time!
We made the decision in NServiceBus 6.0 to support the async/await keywords throughout the framework. Find out why we did it.
- TransactionScope and Async/Await. Be one with the flow!
.NET Framework 4.5.0 contains a nasty bug regarding TransactionScope and async/await. Make sure you're not caught by surprise!
- The dangers of ThreadLocal
Do you use ThreadStatic or ThreadLocal? These don't work well with async/await, and you should be using AsyncLocal instead.
- NServiceBus Sagas, Simplified
We've noticed users repeatedly making the same mistakes when constructing sagas. So, in NServiceBus 6.0 we've changed the API slightly to prevent this from happening.
- NService... umm, where's the bus?
Learn how we've replaced IBus interface with a new set of context-specific interfaces that are more intuitive and easier to test.
- MSMQ performance improvements in NServiceBus 6.0
Even though MSMQ doesn't have an async API, we were able to make NServiceBus over MSMQ go a lot faster.
- A new era for MSMQ scale-out
In NServiceBus 6.0 you can scale out MSMQ endpoints in a much better way, without needing the Distributor.
- Upgrading NServiceBus handlers to async/await
View this screencast to find out the easiest way to upgrade your NServiceBus message handlers to V6.
- Async/await tips and tricks
Async/await has its own set of challenges. Find out the best tips, tools, and tricks for managing async code effectively.
- RabbitMQ updates in NServiceBus 6
The new version of RabbitMQ is now wicked fast, both at sending and receiving. 5 times faster, to be precise. We also added support for AMQPS and better connection auto-recovery.
- How to build a Babel fish in NServiceBus
NServiceBus 6 makes it easy to accept different serialization formats from your endpoints.
- Azure Storage Persistence now faster in NServiceBus 6
A lot of performance improvements have been added to Azure Storage Persistence in NServiceBus 6, especially for sagas.
- Course: Scaling Applications with Microservices and NServiceBus 6
Get an in-depth understanding on NServiceBus and how you can use it to build microservices architecture in this training course with Roland Guijt. From high-level concepts and architectural guidance to low-level, under-the-hood explanations and code samples, this training is ideal both for people that are new to NServiceBus and those that already have some experience.