Skip to content
:bus: Rebus is a lean service bus implementation for .NET, similar in nature to NServiceBus and MassTransit, only leaner. http://mookid.dk/oncode/rebus
C# Other
Latest commit 6bb627e @mookid8000 mookid8000 updated changelog
Failed to load latest commit information.
.vs/config updated changelog and added the RavenDB test category
Rebus.AmazonSQS.Tests don't swallow errors when purging SQS queue + removed hard-coded regi…
Rebus.AmazonSQS don't swallow errors when purging SQS queue + removed hard-coded regi…
Rebus.Async.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.Async Change OptionsConfigurer extension methods to return void.
Rebus.Autofac.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.Autofac fixed license
Rebus.AzureServiceBus.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.AzureServiceBus better error when attempting to complete message whose lock has been …
Rebus.AzureStorageQueues.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.AzureStorageQueues fixed license
Rebus.CastleWindsor.Tests cleaned up windsor code
Rebus.CastleWindsor fixed license
Rebus.DryIoc.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.DryIoc fixed license
Rebus.Forklift.AzureServiceBus added system threading timer-based async task + cleaned up
Rebus.Forklift.AzureStorageQueues Remove some unused "Using" statements
Rebus.Forklift.Common Remove some unused "Using" statements
Rebus.Forklift.Msmq Remove some unused "Using" statements
Rebus.Forklift.RabbitMq Remove some unused "Using" statements
Rebus.Jil.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.Jil fixed license
Rebus.LightInject.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.LightInject fixed license
Rebus.Log4net fixed license
Rebus.MongoDb.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.MongoDb fixed license
Rebus.NLog.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.NLog fixed license
Rebus.NewtonsoftJson fixed license
Rebus.Ninject.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.Ninject fixed license
Rebus.PostgreSql.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.PostgreSql fixed license
Rebus.RabbitMq.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.RabbitMq fixed license
Rebus.RavenDb.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.RavenDb fixed license
Rebus.Serilog fixed license
Rebus.SimpleInjector.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.SimpleInjector fixed license
Rebus.StructureMap.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.StructureMap fixed license
Rebus.Tests auto-set correlation property of newly initiated saga data
Rebus.TransactionScopes.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.TransactionScopes fixed license
Rebus.UnitOfWork.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.UnitOfWork fixed license
Rebus.Unity.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.Unity fixed license
Rebus.Wire.Tests added wire-based serializer
Rebus.Wire fixed license
Rebus.XmlConfig.Tests downgraded NUnit to 2.6.4 because 3 has bugs
Rebus.XmlConfig fixed license
Rebus don't swallow errors when purging SQS queue + removed hard-coded regi…
artwork added fm logo files
old updated simpleinjector dep
packages added wire-based serializer
scripts updated changelog + fixed build script to work with C#6
tools maybe it'll help updating nuget
.gitignore added: Rebus.DryIoc with DryIoc 2.0
CHANGELOG.md updated changelog
CHANGELOG.md.orig updated changelog and added the RavenDB test category
CONTRIBUTING.md Update CONTRIBUTING.md
LICENSE.md fixed license
README.md updated license info in readme
Rebus2.sln added wire-based serializer

README.md

Rebus 2

"As friendly as machinely possible."

NOTE: This is Rebus2 - if you've used Rebus before up until version 0.84.0, you will experience a minor bump in the road when you update to 0.90.0, which functions as the beta versions until Rebus 2.0.0 is ready!

Moreover - since the wiki actually contains quite a bit of content - please be patient until the content has been updated to reflect Rebus 2 :)

Bedford OB

install from nugetdownloads

What?

Rebus is a lean service bus implementation for .NET, similar in nature to NServiceBus and MassTransit, only leaner.

These are the goals - Rebus should have:

  • a simple and intuitive configuration story
  • a few well-selected options
  • no doodleware
  • dependency only on .NET 4.5
  • integration with external dependencies via small and dedicated projects
  • the best error messages
  • a frictionless getting-up-and-running-experience

and in doing this, Rebus should align very well with the NServiceBus way of doing things, which I like, thus allowing users (myself included) to easily migrate to NServiceBus at some point in a project's lifetime if Rebus for some reason falls short (which I don't think it will).

Oh, and Rebus is free as in beer and speech.

Why?

Because I wanted to build the .NET service bus that I would have the patience to work with every day, probably for several years to come. And I can be very impatient with my tools, so the most solemn goal of Rebus is that it should stay out of my way - and I think it does that just right!

If you want to read more, check out the official Rebus documentation wiki or check out my blog.

One day, maybe I'll tweet something as well... @mookid8000

How?

Rebus is a simple .NET library, and everything revolves around the RebusBus class. One way to get Rebus up and running, is to manually go

var bus = new RebusBus(...);
bus.Start(1); //< 1 worker thread

// use the bus for the duration of the application lifetime

// remember to dispose the bus when your application exits
bus.Dispose();

where ... is a bunch of dependencies that vary depending on how you want to send/receive messages etc. Another way is to use the configuration API, in which case you would go

var someContainerAdapter = new BuiltinHandlerActivator();

for the built-in container adapter, or

var someContainerAdapter = new AdapterForMyFavoriteIocContainer(myFavoriteIocContainer);

to integrate with your favorite IoC container, and then

Configure.With(someContainerAdapter)
    .Logging(l => l.Serilog())
    .Transport(t => t.UseMsmq("myInputQueue"))
    .Routing(r => r.TypeBased().MapAssemblyOf<SomeMessageType>("anotherInputQueue"))
    .Start();

// have IBus injected in application services for the duration of the application lifetime

// let the container dispose the bus when your application exits
myFavoriteIocContainer.Dispose();

which will stuff the resulting IBus in the container as a singleton and use the container to look up message handlers. Check out the Configuration section on the official Rebus documentation wiki for more information on how to do this.

License

Rebus is licensed under The MIT License (MIT). Basically, this license grants you the right to use Rebus in any way you see fit. See LICENSE.md for more info.

Something went wrong with that request. Please try again.