Gain practical, hands-on experience with NServiceBus and the Particular Platform. You will build a complete, foundational
system from the ground up, mastering the essential components: messages, endpoints, transports, routing, and persistence.
As you construct this system, you will be introduced to crucial architectural concepts, including sagas for managing
simple long-running business processes and the Outbox pattern for ensuring reliable message delivery. Additionally,
you'll learn to observe and gain insight into your messaging system using specialised tools such as ServiceControl and
ServicePulse. By the end of the course, you will have all the skills needed to begin working with NServiceBus in real projects.
Course Curriculum
5h 10m 7 sections
Welcome
02:25Free preview
What will you learn in this course?
03:49Free preview
Who is the course for and prerequisites
02:22Free preview
What is NServiceBus
02:12
Why use an abstraction like NServiceBus
04:40
Particular Platform tools overview
01:19
Messages and message types
03:18
Defining messages
02:09
Message design considerations
02:12
Persistence
02:27
Introducing the Learning Transport
00:48
Exploring the project
01:28
Configuring NServiceBus
02:16
Adding a serialization type
00:50
Transports
02:00
Using the IMessageSession
00:49
Sending our first command
03:23
Routing
00:44
Using the Learning transport
04:35
Endpoints
05:38
Obtaining a developer license
04:11
Installing Particular Templates
01:27
Creating a new endpoint
02:38
Reorganizing the project
04:38
Handling messages
09:54
Controlling the OrderId
02:27
Publishing events
09:50
AutoSubscribe and events
03:12
Section recap
01:04
Installing RabbitMq in Docker
01:00
The RabbitMq transport
04:48
Enabling and using Installers
05:22
Callbacks and the Request/Reply pattern
10:32
Message headers
01:26
Adding custom message headers
02:41
Reading message headers
01:51
Setting a message destination
03:31
Adding a global header
01:58
Mutators
11:21
Behaviors
05:30
Filtering message types in Behaviors
00:41
Enforcing validation rules
03:47
Why use Behaviors
01:23
Time to Live of a message
01:33
Expiring messages per type
04:49
Expiring messages globally
00:51
Considerations about TTBR
01:42
Section recap
01:17
Intro to dealing with errors
01:38
Types of failures & retry policies
04:10
Configuring immediate retries
04:04
Delayed retries
04:32
Unrecoverable exceptions
02:09
Error notifications
02:42
Using Automatic rate limiting
07:05
Considerations about Rate limiting
01:45
Particular Platform - Using SCMU to install ServiceControl
Irina Scurtu (Dominte) is a software architect, international speaker, Microsoft MVP for developer technologies, and Microsoft certified trainer (MCT) with a wealth of experience. Having taught classes, workshops, and presentations for over 2,000 hours, Irina is passionate about coding and keeping abreast of the latest trends and best practices in software architecture and .NET. Twice a year, for five months each time, Irina teaches .NET and C# to aspiring software developers or people interested in software development or seeking to expand their knowledge. She is an active member of the community and has founded the DotNet Iasi User Group and the dotnetdays.ro conference, where she connects with like-minded developers who are eager to share their expertise and insights. Irina is also a prolific blogger, and her website, https://irina.codes, features a wealth of articles on various coding topics.