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