A highly flexible and free .NET open-source enterprise service bus.
There is extensive documentation on our site and you can make use of the samples to get you going.
var container = new WindsorComponentContainer(new WindsorContainer());
ServiceBus.Register(container);
using (var bus = ServiceBus.Create(container).Start())
{
bus.Send(new RegisterMemberCommand
{
UserName = "Mr Resistor",
EMailAddress = "ohm@resistor.domain"
});
}
var smRegistry = new Registry();
var registry = new StructureMapComponentRegistry(smRegistry);
ServiceBus.Register(registry); // will using bootstrapping to register SubscriptionManager
using (var bus = ServiceBus
.Create(
new StructureMapComponentResolver(
new Container(smRegistry)))
.Start())
{
bus.Publish(new MemberRegisteredEvent
{
UserName = "Mr Resistor"
});
}
SubscriptionManager.Default().Subscribe<MemberRegisteredEvent>();
public class RegisterMemberHandler : IMessageHandler<RegisterMemberCommand>
{
public void ProcessMessage(IHandlerContext<RegisterMemberCommand> context)
{
Console.WriteLine();
Console.WriteLine("[MEMBER REGISTERED] : user name = '{0}'", context.Message.UserName);
Console.WriteLine();
context.Publish(new MemberRegisteredEvent
{
UserName = context.Message.UserName
});
}
}
public class MemberRegisteredHandler : IMessageHandler<MemberRegisteredEvent>
{
public void ProcessMessage(IHandlerContext<MemberRegisteredEvent> context)
{
Console.WriteLine();
Console.WriteLine("[EVENT RECEIVED] : user name = '{0}'", context.Message.UserName);
Console.WriteLine();
}
}