diff --git a/Stardust.Extensions/StarFactoryExtensions.cs b/Stardust.Extensions/StarFactoryExtensions.cs index d86cfda8..de9d3cfb 100644 --- a/Stardust.Extensions/StarFactoryExtensions.cs +++ b/Stardust.Extensions/StarFactoryExtensions.cs @@ -1,4 +1,5 @@ using System; +using System.ComponentModel; using System.Linq; using System.Net.Http; using Microsoft.AspNetCore.Builder; @@ -11,6 +12,7 @@ using NewLife.Caching; using NewLife.Configuration; using NewLife.Log; using NewLife.Reflection; +using NewLife.Remoting.Clients; using Stardust; using Stardust.Extensions; @@ -44,6 +46,8 @@ public static class StarFactoryExtensions services.AddSingleton(p => star.Tracer ?? DefaultTracer.Instance ?? (DefaultTracer.Instance ??= new DefaultTracer())); //services.AddSingleton(p => star.Config); services.AddSingleton(p => star.Service!); + services.AddSingleton(p => (star.Service as IEventProvider)!); + services.AddSingleton(p => (star.Service as ICommandClient)!); // 替换为混合配置提供者,优先本地配置 //services.Replace(new ServiceDescriptor(typeof(IConfigProvider), p => star.Config, ServiceLifetime.Singleton)); diff --git a/Stardust/StarFactory.cs b/Stardust/StarFactory.cs index 071273b8..9ec41c2d 100644 --- a/Stardust/StarFactory.cs +++ b/Stardust/StarFactory.cs @@ -254,6 +254,8 @@ public class StarFactory : DisposeBase container.AddSingleton(this); container.AddSingleton(p => Tracer ?? DefaultTracer.Instance ?? (DefaultTracer.Instance ??= new DefaultTracer())); container.AddSingleton(p => Service!); + container.AddSingleton(p => (p.GetService() as IEventProvider)!); + container.AddSingleton(p => (p.GetService() as ICommandClient)!); // 替换为混合配置提供者,优先本地配置 container.AddSingleton(p => GetConfig()!);