public static IServiceProvider BuildServiceProvider() { var services = new ServiceCollection(); var dotNetConfig = new DotNetConfiguration(); var iisConfig = new IISMangementConfiguration(); var gitConfig = new GitConfiguration(); services .AddSingleton(dotNetConfig) .AddSingleton(iisConfig) .AddSingleton(gitConfig); services .AddSingleton <IAppService, AppService>() .AddSingleton <INotificationService, NotificationService>() .AddSingleton <IRepositoryService, RepositoryService>() .AddSingleton <ISiteService, SiteService>(); services .AddSingleton <IGitService, GitService>() .AddSingleton <IDotNetPublishService, DotNetPublishService>() .AddSingleton <ISiteManagementService, SiteManagementService>(); services .AddSingleton <MainWindowViewModel>(); services .AddSingleton <IAppViewModelFactory, AppViewModelFactory>() .AddSingleton <IAppListViewModelFactory, AppListViewModelFactory>(); services .AddTransient <MainWindow>(); return(services.BuildServiceProvider()); }
protected IISManagementServiceBase(IISMangementConfiguration configuration) { Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); }
public ApplicationPoolManagementService(IISMangementConfiguration configuration) : base(configuration) { }
public SiteManagementService(IISMangementConfiguration configuration) : base(configuration) { }