protected virtual ServiceCollection CreateStreamsContainer(List <string> serachDirectories, params string[] properties) { var configuration = CreateTestConfiguration(properties); var container = new ServiceCollection(); container.AddOptions(); container.AddLogging((b) => b.AddDebug()); container.AddSingleton <IConfiguration>(configuration); container.AddSingleton <IApplicationContext, GenericApplicationContext>(); container.AddStreamConfiguration(configuration); container.AddCoreServices(); container.AddIntegrationServices(configuration); container.AddStreamCoreServices(configuration); if (serachDirectories == null || serachDirectories.Count == 0) { container.AddBinderServices(configuration); } else { var registry = new DefaultBinderTypeRegistry(serachDirectories, false); container.AddSingleton <IBinderTypeRegistry>(registry); container.AddBinderServices(registry, configuration); } return(container); }
public static IServiceCollection AddBinderServices(this IServiceCollection services, IConfiguration configuration) { var registry = new DefaultBinderTypeRegistry(); services.TryAddSingleton <IBinderTypeRegistry>(registry); services.AddBinderServices(registry, configuration); return(services); }