public static void Test() { DependencyContainer = new UnityDependencyContainer(); DefaultEventManager eventManager = new DefaultEventManager(); DependencyContainer.Definitions .Add(typeof(ICommandHandler <CreateProductCommand>), DependencyLifetime.Transient, typeof(CreateProductCommandHandler)); ICommandDispatcher commandDispatcher = new DependencyCommandDispatcher(DependencyContainer); Console.WriteLine("Console ThreadID: {0}", Thread.CurrentThread.ManagedThreadId); for (int i = 0; i < 1; i++) { CreateProductCommand command = new CreateProductCommand("Pen", 5.0); commandDispatcher.HandleAsync(command); GC.Collect(); } //int count = 1000; //TestCommandDispatcher(count, commandDispatcher); //TestDirect(count); }
public static void Test() { DefaultEventManager eventManager = new DefaultEventManager(); eventManager.Add(DelegateEventHandler.FromAction <EventData>(e => Console.WriteLine("{0}: ThreadID: {1}", e.Index, Thread.CurrentThread.ManagedThreadId))); for (int i = 0; i < 10; i++) { Console.WriteLine("Before run {0};", i); eventManager.PublishAsync(new EventData(i)); Console.WriteLine("After run {0};", i); } }
public void Events() { DefaultEventManager manager = new DefaultEventManager(); E1Handler handler = new E1Handler(); manager.AddAll(handler); manager.PublishAsync(new E1()).Wait(); Assert.AreEqual(1, handler.E1Count); manager.PublishAsync(new E2()).Wait(); Assert.AreEqual(1, handler.E2Count); manager.PublishAsync(new E3()).Wait(); Assert.AreEqual(1, handler.E3Count); }
private static void ConfigureServices(IServiceCollection services) { DefaultEventManager eventManager = new DefaultEventManager(); services .AddLogging() .AddExceptions() .AddComponents() .AddUiOptions() .AddHttpClientFactory(GetApiBaseUrl()) .AddSingleton <IEventDispatcher>(eventManager) .AddSingleton <IEventHandlerCollection>(eventManager) .AddSingleton <Json>() .AddTransient <Navigator>(); ConfigureConverts(); common.ConfigureServices(services); accounts.ConfigureServices(services); entries.ConfigureServices(services); sharing.ConfigureServices(services); }