Ariane is a simple bus manager for asynchronous messages based on type or dynamic objects for later treatment, Ariane manage queueing system in one place with one thread by queue and multi readers by queue
- In Memory
- MSMQ
- Azure Service Bus
- File System
- Custom...
You can download http://nuget.org/packages/Ariane5 from NuGet in Visual Studio, With Package Manager Console type:
PM> Install-Package Ariane5
- Client
serviceCollection.ConfigureAriane(register =>
{
register.AddMSMQReader<Person>("q1");
});
var serviceProvider = serviceCollection.BuildServiceProvider();
var sb = serviceProvider.GetRequiredService<IServiceBus>();
await sb.StartReadingAsync();
You can download http://nuget.org/packages/Ariane from NuGet in Visual Studio, With Package Manager Console type:
PM> Install-Package Ariane
- Client
var bus = new Ariane.BusManager();
bus.Register.AddMemoryWriter("test");
var person = new Person();
person.FirsName = i.ToString();
person.LastName = Guid.NewGuid().ToString();
bus.Send("test", person);
- Server
var bus = new Ariane.BusManager();
bus.Register.AddMemoryReader("test", typeof(PersonMessageReader));
bus.Register.AddMemoryReader<Person>("test", (message) => {
Console.WriteLine("{0}:{1}", System.Threading.Thread.CurrentThread.Name, message.FirsName);
});
bus.StartReading();
public class PersonMessageReader : MessageReaderBase<Person>
{
public override void ProcessMessage(Person message)
{
Console.WriteLine("{0}:{1}", System.Threading.Thread.CurrentThread.Name, message.FirsName);
}
}
var bus = new Ariane.ServiceBus();
bus.Register.AddMemoryReader<System.Dynamic.ExpandoObject>("queueName", (p) =>
{
Console.WriteLine("person : {0} {1}", p.FirstName, p.LastName);
});
dynamic person = bus.CreateMessage("person");
person.FirstName = "ftest";
person.LastName = "ltest";
bus.Send("queueName", person);