public WcfProcessor(IDetector detector, IDependencyValidator dependencyValidator, IConfigFileAppender fileAppender, IFileMover assemblyMover) { this.detector = detector; this.dependencyValidator = dependencyValidator; this.fileAppender = fileAppender; this.assemblyMover = assemblyMover; }
public PowerShellProjectPackage() { var componentModel = (IComponentModel)GetGlobalService(typeof(SComponentModel)); _validator = (IDependencyValidator)componentModel.GetService <IDependencyValidator>(); UiContextUtilities.ActivateUiContext(UiContextUtilities.CreateUiContext(PowerShellTools.Common.Constants.PowerShellProjectUiContextGuid)); }
public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceProvider rootServiceProvider, IServiceScopeFactory rootScopeFactory, ScriptApplicationHostOptions webHostOptions, Action <IWebJobsBuilder> configureWebJobs = null) { ILoggerFactory configLoggerFactory = rootServiceProvider.GetService <ILoggerFactory>(); IDependencyValidator validator = rootServiceProvider.GetService <IDependencyValidator>(); IMetricsLogger metricsLogger = rootServiceProvider.GetService <IMetricsLogger>(); builder.UseServiceProviderFactory(new JobHostScopedServiceProviderFactory(rootServiceProvider, rootScopeFactory, validator)) .ConfigureServices(services => { // register default configuration // must happen before the script host is added below services.ConfigureOptions <HttpOptionsSetup>(); services.ConfigureOptions <CustomHttpHeadersOptionsSetup>(); services.ConfigureOptions <HostHstsOptionsSetup>(); services.ConfigureOptions <HostCorsOptionsSetup>(); services.ConfigureOptions <CorsOptionsSetup>(); services.ConfigureOptions <AppServiceOptionsSetup>(); services.ConfigureOptions <HostEasyAuthOptionsSetup>(); }) .AddScriptHost(webHostOptions, configLoggerFactory, metricsLogger, webJobsBuilder => { webJobsBuilder.AddAzureStorageCoreServices(); configureWebJobs?.Invoke(webJobsBuilder); ConfigureRegisteredBuilders(webJobsBuilder, rootServiceProvider); webJobsBuilder.Services.AddSingleton <IHttpRoutesManager, WebScriptHostHttpRoutesManager>(); }) .ConfigureAppConfiguration(configurationBuilder => { ConfigureRegisteredBuilders(configurationBuilder, rootServiceProvider); }) .ConfigureLogging(loggingBuilder => { loggingBuilder.Services.AddSingleton <ILoggerFactory, ScriptLoggerFactory>(); loggingBuilder.AddWebJobsSystem <SystemLoggerProvider>(); loggingBuilder.Services.AddSingleton <ILoggerProvider, AzureMonitorDiagnosticLoggerProvider>(); ConfigureRegisteredBuilders(loggingBuilder, rootServiceProvider); }) .ConfigureServices(services => { var webHostEnvironment = rootServiceProvider.GetService <IScriptWebHostEnvironment>(); var environment = rootServiceProvider.GetService <IEnvironment>(); if (FunctionsSyncManager.IsSyncTriggersEnvironment(webHostEnvironment, environment)) { services.AddSingleton <IHostedService, FunctionsSyncService>(); } if (!environment.IsV2CompatibilityMode()) { new FunctionsMvcBuilder(services).AddNewtonsoftJson(); } services.AddSingleton <HttpRequestQueue>(); services.AddSingleton <IHostLifetime, JobHostHostLifetime>(); services.AddSingleton <IWebJobsExceptionHandler, WebScriptHostExceptionHandler>(); services.AddSingleton <DefaultScriptWebHookProvider>(); services.TryAddSingleton <IScriptWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IJobHostMiddlewarePipeline, DefaultMiddlewarePipeline>(); if (environment.IsLinuxConsumption()) { services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, JobHostEasyAuthMiddleware>()); } services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, CustomHttpHeadersMiddleware>()); services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, HstsConfigurationMiddleware>()); if (environment.IsLinuxConsumption()) { services.AddSingleton <ICorsMiddlewareFactory, CorsMiddlewareFactory>(); services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, JobHostCorsMiddleware>()); } services.TryAddSingleton <IScaleMetricsRepository, TableStorageScaleMetricsRepository>(); if (environment.IsWindowsAzureManagedHosting() || environment.IsLinuxAzureManagedHosting()) { // Enable breaking change analysis only when hosted in Azure services.AddSingleton <IChangeAnalysisStateProvider, BlobChangeAnalysisStateProvider>(); services.AddSingleton <IHostedService, ChangeAnalysisService>(); } // Make sure the registered IHostIdProvider is used IHostIdProvider provider = rootServiceProvider.GetService <IHostIdProvider>(); if (provider != null) { services.AddSingleton <IHostIdProvider>(provider); } services.AddSingleton <IDelegatingHandlerProvider, DefaultDelegatingHandlerProvider>(); // Logging and diagnostics services.AddSingleton <IMetricsLogger>(a => new NonDisposableMetricsLogger(metricsLogger)); services.AddSingleton <IEventCollectorProvider, FunctionInstanceLogCollectorProvider>(); // Hosted services services.TryAddEnumerable(ServiceDescriptor.Singleton <IHostedService, FileMonitoringService>()); ConfigureRegisteredBuilders(services, rootServiceProvider); }); var debugStateProvider = rootServiceProvider.GetService <IDebugStateProvider>(); if (debugStateProvider.InDebugMode) { builder.UseEnvironment(EnvironmentName.Development); } return(builder); }
public JobHostScopedServiceProviderFactory(IServiceProvider rootProvider, IServiceScopeFactory rootScopeFactory, IDependencyValidator validator) { _rootProvider = rootProvider ?? throw new ArgumentNullException(nameof(rootProvider)); _rootScopeFactory = rootScopeFactory ?? throw new ArgumentNullException(nameof(rootScopeFactory)); _validator = validator ?? throw new ArgumentNullException(nameof(validator)); }
public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceProvider rootServiceProvider, IServiceScopeFactory rootScopeFactory, ScriptApplicationHostOptions webHostOptions, Action <IWebJobsBuilder> configureWebJobs = null) { ILoggerFactory configLoggerFactory = rootServiceProvider.GetService <ILoggerFactory>(); IDependencyValidator validator = rootServiceProvider.GetService <IDependencyValidator>(); IMetricsLogger metricsLogger = rootServiceProvider.GetService <IMetricsLogger>(); IEnvironment environment = rootServiceProvider.GetService <IEnvironment>(); builder.UseServiceProviderFactory(new JobHostScopedServiceProviderFactory(rootServiceProvider, rootScopeFactory, validator)) .ConfigureServices(services => { // register default configuration // must happen before the script host is added below services.ConfigureOptions <HttpOptionsSetup>(); services.ConfigureOptions <CustomHttpHeadersOptionsSetup>(); services.ConfigureOptions <HostHstsOptionsSetup>(); services.ConfigureOptions <HostCorsOptionsSetup>(); services.ConfigureOptions <CorsOptionsSetup>(); services.ConfigureOptions <AppServiceOptionsSetup>(); services.ConfigureOptions <HostEasyAuthOptionsSetup>(); services.ConfigureOptions <PrimaryHostCoordinatorOptionsSetup>(); }) .AddScriptHost(webHostOptions, configLoggerFactory, metricsLogger, webJobsBuilder => { // Adds necessary Azure-based services to the ScriptHost, which will use the host-provided IAzureBlobStorageProvider registered below. webJobsBuilder.AddAzureStorageCoreServices(); // This overrides the IAzureBlobStorageProvider registered by the above call to AddAzureStorageCoreServices(). // This forwards the Host provided implementation to the inner ScriptHost and MUST be called AFTER the AddAzureStorageCoreServices() call to avoid layering mishaps later. // The Host provided IAzureBlobStorageProvider is designed to react to specialization and limited ScriptHost lifetimes, so it can be safely forwarded to the ScriptHost. webJobsBuilder.Services.AddSingleton <IAzureBlobStorageProvider>(rootServiceProvider.GetService <IAzureBlobStorageProvider>()); configureWebJobs?.Invoke(webJobsBuilder); webJobsBuilder.Services.TryAddSingleton <HttpClient>(f => { var loggerFactory = f.GetService <ILoggerFactory>(); loggerFactory.CreateLogger(LogCategories.Startup).LogWarning("Using HttpClient as an injected dependency will not be supported in future versions of Azure Functions. Use IHttpClientFactory instead. See http://aka.ms/functions-httpclient-di for more information."); return(rootServiceProvider.GetService <HttpClient>()); }); ConfigureRegisteredBuilders(webJobsBuilder, rootServiceProvider); webJobsBuilder.Services.AddSingleton <IHttpRoutesManager, WebScriptHostHttpRoutesManager>(); }) .ConfigureAppConfiguration(configurationBuilder => { ConfigureRegisteredBuilders(configurationBuilder, rootServiceProvider); }) .ConfigureLogging(loggingBuilder => { loggingBuilder.Services.AddSingleton <ILoggerFactory, ScriptLoggerFactory>(); loggingBuilder.AddWebJobsSystem <SystemLoggerProvider>(); if (environment.IsAzureMonitorEnabled()) { loggingBuilder.Services.AddSingleton <ILoggerProvider, AzureMonitorDiagnosticLoggerProvider>(); } if (!FeatureFlags.IsEnabled(ScriptConstants.FeatureFlagDisableDiagnosticEventLogging)) { loggingBuilder.Services.AddSingleton <ILoggerProvider, DiagnosticEventLoggerProvider>(); loggingBuilder.Services.TryAddSingleton <IDiagnosticEventRepository, DiagnosticEventTableStorageRepository>(); loggingBuilder.Services.TryAddSingleton <IDiagnosticEventRepositoryFactory, DiagnosticEventRepositoryFactory>(); } ConfigureRegisteredBuilders(loggingBuilder, rootServiceProvider); }) .ConfigureServices(services => { var webHostEnvironment = rootServiceProvider.GetService <IScriptWebHostEnvironment>(); if (FunctionsSyncManager.IsSyncTriggersEnvironment(webHostEnvironment, environment)) { services.AddSingleton <IHostedService, FunctionsSyncService>(); } if (!environment.IsV2CompatibilityMode()) { new FunctionsMvcBuilder(services).AddNewtonsoftJson(); } services.AddSingleton <HttpRequestQueue>(); services.AddSingleton <IHostLifetime, JobHostHostLifetime>(); services.AddSingleton <IWebJobsExceptionHandler, WebScriptHostExceptionHandler>(); services.AddSingleton <DefaultScriptWebHookProvider>(); services.TryAddSingleton <IScriptWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IJobHostMiddlewarePipeline, DefaultMiddlewarePipeline>(); services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, CustomHttpHeadersMiddleware>()); services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, HstsConfigurationMiddleware>()); if (environment.IsLinuxConsumption()) { services.AddSingleton <ICorsMiddlewareFactory, CorsMiddlewareFactory>(); services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, JobHostCorsMiddleware>()); // EasyAuth must go after CORS, as CORS preflight requests can happen before authentication services.TryAddEnumerable(ServiceDescriptor.Singleton <IJobHostHttpMiddleware, JobHostEasyAuthMiddleware>()); } services.TryAddSingleton <IScaleMetricsRepository, TableStorageScaleMetricsRepository>(); services.TryAddEnumerable(ServiceDescriptor.Singleton <IConcurrencyThrottleProvider, WorkerChannelThrottleProvider>()); // Make sure the registered IHostIdProvider is used IHostIdProvider provider = rootServiceProvider.GetService <IHostIdProvider>(); if (provider != null) { services.AddSingleton <IHostIdProvider>(provider); } services.AddSingleton <IDelegatingHandlerProvider, DefaultDelegatingHandlerProvider>(); // Logging and diagnostics services.AddSingleton <IMetricsLogger>(a => new NonDisposableMetricsLogger(metricsLogger)); services.AddSingleton <IEventCollectorProvider, FunctionInstanceLogCollectorProvider>(); // Hosted services services.AddSingleton <IFileMonitoringService, FileMonitoringService>(); services.TryAddEnumerable(ServiceDescriptor.Singleton <IHostedService, IFileMonitoringService>(p => p.GetService <IFileMonitoringService>())); ConfigureRegisteredBuilders(services, rootServiceProvider); }); return(builder); }
public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceProvider rootServiceProvider, IServiceScopeFactory rootScopeFactory, ScriptApplicationHostOptions webHostOptions, Action <IWebJobsBuilder> configureWebJobs = null) { ILoggerFactory configLoggerFactory = rootServiceProvider.GetService <ILoggerFactory>(); IDependencyValidator validator = rootServiceProvider.GetService <IDependencyValidator>(); builder.UseServiceProviderFactory(new JobHostScopedServiceProviderFactory(rootServiceProvider, rootScopeFactory, validator)) .ConfigureServices(services => { // register default configuration // must happen before the script host is added below services.ConfigureOptions <HttpOptionsSetup>(); services.ConfigureOptions <HostHstsOptionsSetup>(); }) .AddScriptHost(webHostOptions, configLoggerFactory, webJobsBuilder => { webJobsBuilder .AddAzureStorageCoreServices(); configureWebJobs?.Invoke(webJobsBuilder); ConfigureRegisteredBuilders(webJobsBuilder, rootServiceProvider); }) .ConfigureAppConfiguration(configurationBuilder => { ConfigureRegisteredBuilders(configurationBuilder, rootServiceProvider); }) .ConfigureLogging(loggingBuilder => { loggingBuilder.Services.AddSingleton <ILoggerFactory, ScriptLoggerFactory>(); loggingBuilder.AddWebJobsSystem <SystemLoggerProvider>(); loggingBuilder.Services.AddSingleton <ILoggerProvider, UserLogMetricsLoggerProvider>(); loggingBuilder.Services.AddSingleton <ILoggerProvider, AzureMonitorDiagnosticLoggerProvider>(); ConfigureRegisteredBuilders(loggingBuilder, rootServiceProvider); }) .ConfigureServices(services => { var webHostEnvironment = rootServiceProvider.GetService <IScriptWebHostEnvironment>(); var environment = rootServiceProvider.GetService <IEnvironment>(); if (FunctionsSyncManager.IsSyncTriggersEnvironment(webHostEnvironment, environment)) { services.AddSingleton <IHostedService, FunctionsSyncService>(); } services.AddSingleton <HttpRequestQueue>(); services.AddSingleton <IHostLifetime, JobHostHostLifetime>(); services.TryAddSingleton <IWebJobsExceptionHandler, WebScriptHostExceptionHandler>(); services.AddSingleton <IScriptJobHostEnvironment, WebScriptJobHostEnvironment>(); services.AddSingleton <DefaultScriptWebHookProvider>(); services.TryAddSingleton <IScriptWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IWebHookProvider>(p => p.GetService <DefaultScriptWebHookProvider>()); services.TryAddSingleton <IJobHostMiddlewarePipeline, DefaultMiddlewarePipeline>(); services.TryAddSingleton <IJobHostHttpMiddleware, HstsConfigurationMiddleware>(); // Make sure the registered IHostIdProvider is used IHostIdProvider provider = rootServiceProvider.GetService <IHostIdProvider>(); if (provider != null) { services.AddSingleton <IHostIdProvider>(provider); } // Logging and diagnostics services.AddSingleton <IMetricsLogger, WebHostMetricsLogger>(); services.AddSingleton <IEventCollectorProvider, FunctionInstanceLogCollectorProvider>(); // Hosted services services.TryAddEnumerable(ServiceDescriptor.Singleton <IHostedService, HttpInitializationService>()); services.TryAddEnumerable(ServiceDescriptor.Singleton <IHostedService, FileMonitoringService>()); }); var debugStateProvider = rootServiceProvider.GetService <IDebugStateProvider>(); if (debugStateProvider.InDebugMode) { builder.UseEnvironment(EnvironmentName.Development); } return(builder); }
internal ExecuteWithParametersAsScriptFromSolutionExplorerCommand(IVsEditorAdaptersFactoryService adpatersFactory, IVsTextManager textManager, IDependencyValidator validator) : base(validator) { _adaptersFactory = adpatersFactory; _textManager = textManager; }
public ExecuteAsScriptCommand(IDependencyValidator validator) { _validator = validator; }
internal ExecuteFromEditorContextMenuCommand(IDependencyValidator validator) : base(validator) { }
internal ExecuteFromSolutionExplorerContextMenuCommand(IDependencyValidator validator) : base(validator) { }
public ExecuteSelectionCommand(IDependencyValidator dependencyValidator) { _validator = dependencyValidator; }
public BuildpackProcessor(IDependencyValidator dependencyValidator, IWebConfigFileAppender webConfigFileAppender) { this.dependencyValidator = dependencyValidator; this.webConfigFileAppender = webConfigFileAppender; }