-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the official Rebus documentation wiki! In here, you will find a few snippets and some words about Rebus. If you haven't already done it, you might want to read the introduction.
Rebus depends on .NET 4 only. Everything that is feasible to implement with the BCL only is included in Rebus' core DLL: Rebus.dll
- that means MSMQ, SQL Server persistence, and more is in the DLL. Integration with other stuff can be achieved with various integration DLLs. Rebus will probably only work in Windows environments.
Rebus binaries are currently available only as NuGet packages on NuGet.org and can be found by searching for NuGet packages with the text "rebus". If you're a PSH kind of guy, you could e.g. install-package rebus -projectName NameOfYourProject
.
You might want to take a look at this very simple sample:
Also, you might want to check out the "Scenarios" section further down for some information on how different problems can be solved very elegantly with Rebus.
There's basically two ways of configuring Rebus: The configuration API and manual configuration. The configuration API is the preferred way of configuring stuff when you're well accustomed with what Rebus can do, and you know fairly well how Rebus achieves it, but I strongly encourage you to try configuring Rebus manually as well - just to get a chance to ponder a bit over each of Rebus' dependencies.
Many relevant options can (and in many cases should) be configured in a Rebus configuration section, i.e. in the app.config/web.config of your application.
The following aspects can be (and some of them must be) configured:
- Logging
- Transport
- Serialization
- Routing
- Handler pipeline
- and more
When you're considering which aspects to configure, please take a moment to study the different bus modes - that should enable you to judge which aspects are required to configure, and which aspects can safely be left out.
Here's a couple of things that you might want to read:
- Different bus modes
- Return addresses
- Correlation IDs
- Message context
- User context
- Wire level messages
- Transactions
- How does Rebus compare to other .NET service buses?
Here, I will briefly cover different scenarios where Rebus can really help.
- Web service integration - making synchronous calls to external systems robust by building an asynchronous request/reply messaging facade
- Handing off work - processing stuff asynchronously in the background
- Coordinating stuff that happens over time - using sagas to coordinate communication with multiple services
- and more
and then, a special message if you're implementing CQRS...
Rebus comes with a few things in addition to the messagaging library. They are listed here, along with words on how mature/immature they are, etc.
Rebus now has a changelog in the repo: CHANGELOG.md