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.
using (var bus = ServiceBus.Create().Start())
{
bus.Send(new RegisterMemberCommand
{
UserName = "Mr Resistor",
EMailAddress = "ohm@resistor.domain"
});
}
using (var bus = ServiceBus.Create(c => c.SubscriptionManager(SubscriptionManager.Default())).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 bool IsReusable
{
get { return true; }
}
}
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();
}
public bool IsReusable
{
get { return true; }
}
}