-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathMediatorPackage.cs
More file actions
31 lines (27 loc) · 1.14 KB
/
MediatorPackage.cs
File metadata and controls
31 lines (27 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using SimpleInjector;
using SimpleInjector.Packaging;
using ViennaNET.Mediator.Collectors;
using ViennaNET.Mediator.Pipeline;
using ViennaNET.Mediator.Seedwork;
namespace ViennaNET.Mediator.DefaultConfiguration
{
/// <summary>
/// Пакет SimpleInjector для работы с Mediator
/// </summary>
public class MediatorPackage : IPackage
{
/// <inheritdoc />
public void RegisterServices(Container container)
{
var registration = Lifestyle.Singleton.CreateRegistration<Mediators.Mediator>(container);
container.AddRegistration<IMediator>(registration);
container.AddRegistration<IMessageRecipientsRegistrar>(registration);
container.AddRegistration<IPipelineProcessorsRegistrar>(registration);
container.Register<IPreProcessorService, PreProcessorService>(Lifestyle.Singleton);
container.Register<IEventCollectorFactory, EventCollectorFactory>(Lifestyle.Singleton);
container.Collection.Register<IMessageHandler>(GetType().Assembly);
container.Collection.Register<IMessageHandlerAsync>(GetType().Assembly);
container.Register<MediatorRegistrar>(Lifestyle.Singleton);
}
}
}