diff --git a/src/Squidex/Config/Orleans/OrleansServices.cs b/src/Squidex/Config/Orleans/OrleansServices.cs index be633366f..de6cf2174 100644 --- a/src/Squidex/Config/Orleans/OrleansServices.cs +++ b/src/Squidex/Config/Orleans/OrleansServices.cs @@ -22,7 +22,7 @@ namespace Squidex.Config.Orleans { public static class OrleansServices { - public static IServiceProvider AddAndBuildOrleans(this IServiceCollection services, IConfiguration config) + public static IServiceProvider AddAndBuildOrleans(this IServiceCollection services, IConfiguration config, Action afterServices) { services.Configure(options => { @@ -105,6 +105,8 @@ namespace Squidex.Config.Orleans siloServices.Add(descriptor); } + afterServices(siloServices); + provider = siloServices.BuildServiceProvider(); return provider; diff --git a/src/Squidex/WebStartup.cs b/src/Squidex/WebStartup.cs index 10b2546e3..717b8fd79 100644 --- a/src/Squidex/WebStartup.cs +++ b/src/Squidex/WebStartup.cs @@ -93,10 +93,11 @@ namespace Squidex services.Configure( config.GetSection("usage")); - services.AddHostedService(); - services.AddHostedService(); - - var provider = services.AddAndBuildOrleans(configuration); + var provider = services.AddAndBuildOrleans(configuration, afterServices => + { + afterServices.AddHostedService(); + afterServices.AddHostedService(); + }); return provider; }