diff --git a/zero.Core/Communication/Messages/MessageAggregator.cs b/zero.Core/Communication/Messages/MessageAggregator.cs index c6615c79..cd6a3f37 100644 --- a/zero.Core/Communication/Messages/MessageAggregator.cs +++ b/zero.Core/Communication/Messages/MessageAggregator.cs @@ -27,7 +27,7 @@ public class MessageAggregator : IMessageAggregator /// - public void Subscribe() + public void Activate() where TMessage : class, IMessage where TMessageHandler : IMessageHandler { @@ -46,7 +46,7 @@ public interface IMessageAggregator /// /// Subscribes the specified handler to the spified message type /// - void Subscribe() + void Activate() where TMessage : class, IMessage where TMessageHandler : IMessageHandler; } diff --git a/zero.Core/Communication/ZeroCommunicationModule.cs b/zero.Core/Communication/ZeroCommunicationModule.cs index 6becb0e8..bd3a05c4 100644 --- a/zero.Core/Communication/ZeroCommunicationModule.cs +++ b/zero.Core/Communication/ZeroCommunicationModule.cs @@ -8,7 +8,7 @@ internal class ZeroCommunicationModule : ZeroModule public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.AddScoped(); - services.AddSingleton(); + services.AddScoped(); services.AddTransient(); services.AddTransient(typeof(Lazy<>), typeof(LazilyResolved<>)); } diff --git a/zero.Core/Stores/EntityStore.cs b/zero.Core/Stores/EntityStore.cs index 50332a8d..82082a76 100644 --- a/zero.Core/Stores/EntityStore.cs +++ b/zero.Core/Stores/EntityStore.cs @@ -25,6 +25,8 @@ public abstract class EntityStore : IEntityStore where T : ZeroIdEntity, I protected IZeroOptions Options { get; private set; } + protected IMessageAggregator Messages { get; private set; } + public EntityStore(IStoreContext ctx) { @@ -32,6 +34,8 @@ public abstract class EntityStore : IEntityStore where T : ZeroIdEntity, I Interceptors = ctx.Interceptors; Options = ctx.Options; Operations = new StoreOperations(ctx); + Messages = ctx.Messages; + } diff --git a/zero.Core/Stores/StoreContext.cs b/zero.Core/Stores/StoreContext.cs index b8182ac6..40dbfe42 100644 --- a/zero.Core/Stores/StoreContext.cs +++ b/zero.Core/Stores/StoreContext.cs @@ -14,8 +14,10 @@ public class StoreContext : IStoreContext public IServiceProvider Services { get; private set; } + public IMessageAggregator Messages { get; private set; } - public StoreContext(IZeroContext context, IInterceptors interceptors, IStoreCache cache, IServiceProvider serviceProvider) + + public StoreContext(IZeroContext context, IInterceptors interceptors, IStoreCache cache, IServiceProvider serviceProvider, IMessageAggregator messages) { Store = context.Store; Options = context.Options; @@ -23,6 +25,7 @@ public class StoreContext : IStoreContext Interceptors = interceptors; Cache = cache; Services = serviceProvider; + Messages = messages; } } @@ -40,4 +43,6 @@ public interface IStoreContext IStoreCache Cache { get; } IServiceProvider Services { get; } + + IMessageAggregator Messages { get; } } \ No newline at end of file