Exemple #1
0
 /// <summary>
 /// Creates an engine with the specified application state and service provider.
 /// </summary>
 /// <param name="applicationState">The state of the application (or <c>null</c> for an empty application state).</param>
 /// <param name="configuration">The application configuration.</param>
 /// <param name="serviceCollection">The service collection (or <c>null</c> for an empty default service collection).</param>
 public Engine(ApplicationState applicationState, IConfiguration configuration, IServiceCollection serviceCollection)
 {
     _pipelines                = new PipelineCollection(this);
     ApplicationState          = applicationState ?? new ApplicationState(null, null, null);
     Settings                  = new ReadOnlyConfigurationSettings(configuration ?? new ConfigurationRoot(Array.Empty <IConfigurationProvider>()));
     _serviceScope             = GetServiceScope(serviceCollection);
     _logger                   = Services.GetRequiredService <ILogger <Engine> >();
     DocumentFactory           = new DocumentFactory(Settings);
     _diagnosticsTraceListener = new DiagnosticsTraceListener(_logger);
     System.Diagnostics.Trace.Listeners.Add(_diagnosticsTraceListener);
 }
        /// <summary>
        /// Creates an engine with the specified application state, configuration, and service provider.
        /// </summary>
        /// <param name="applicationState">The state of the application (or <c>null</c> for an empty application state).</param>
        /// <param name="serviceCollection">The service collection (or <c>null</c> for an empty default service collection).</param>
        /// <param name="configurationOverrides">Values that should override configuration values.</param>
        /// <param name="configuration">The application configuration.</param>
        public Engine(ApplicationState applicationState, IServiceCollection serviceCollection, IConfiguration configuration, IDictionary <string, object> configurationOverrides)
        {
            _pipelines       = new PipelineCollection(this);
            ApplicationState = applicationState ?? new ApplicationState(null, null, null);
            ScriptHelper     = new ScriptHelper(this);
            Settings         = new ReadOnlyConfigurationSettings(
                this,
                configuration ?? new ConfigurationRoot(Array.Empty <IConfigurationProvider>()),
                configurationOverrides);
            _serviceScope             = GetServiceScope(serviceCollection);
            _logger                   = Services.GetRequiredService <ILogger <Engine> >();
            DocumentFactory           = new DocumentFactory(this, Settings);
            _diagnosticsTraceListener = new DiagnosticsTraceListener(_logger);
            System.Diagnostics.Trace.Listeners.Add(_diagnosticsTraceListener);

            // Add the service-based pipelines as late as possible so other services have been configured
            AddServicePipelines();
        }