@@ -13,26 +13,30 @@ public abstract class ApplicationManager<TManager, TApplication>
1313
1414 public static bool IsStarted => AppContainer . IsValueCreated && AppContainer . Value . Driver . SessionId != null ;
1515
16- protected static TApplication GetApplication ( Func < IServiceProvider , TApplication > startApplicationFunction , IServiceCollection serviceCollection = null )
16+ protected static TApplication GetApplication ( Func < IServiceProvider , TApplication > startApplicationFunction , Func < IServiceCollection > serviceCollectionProvider = null )
1717 {
1818 if ( ! IsStarted )
1919 {
2020 AppContainer . Value = startApplicationFunction (
21- GetServiceProvider ( service => GetApplication ( startApplicationFunction ) , serviceCollection ) ) ;
21+ GetServiceProvider ( service => GetApplication ( startApplicationFunction , serviceCollectionProvider ) , serviceCollectionProvider ) ) ;
2222 }
2323 return AppContainer . Value ;
2424 }
2525
26- protected static IServiceProvider GetServiceProvider ( Func < IServiceProvider , TApplication > applicationSupplier , IServiceCollection serviceCollection = null )
26+ protected static IServiceProvider GetServiceProvider ( Func < IServiceProvider , TApplication > applicationSupplier , Func < IServiceCollection > serviceCollectionProvider = null )
2727 {
2828 if ( ! ServiceProviderContainer . IsValueCreated )
2929 {
30- var services = serviceCollection ;
31- if ( services == null )
30+ IServiceCollection services ;
31+ if ( serviceCollectionProvider == null )
3232 {
3333 services = new ServiceCollection ( ) ;
3434 new Startup ( ) . ConfigureServices ( services , applicationSupplier ) ;
3535 }
36+ else
37+ {
38+ services = serviceCollectionProvider ( ) ;
39+ }
3640 ServiceProviderContainer . Value = services . BuildServiceProvider ( ) ;
3741 }
3842 return ServiceProviderContainer . Value ;
0 commit comments