applyChanges method
void
applyChanges()
Implementation
void applyChanges() {
var config = _hostApplicationBuilder.configuration;
if (_configureHostConfigActions.isNotEmpty) {
var previousApplicationName = config[host_defaults.applicationKey];
var previousEnvironment = config[host_defaults.environmentKey];
var previousContentRootConfig = config[host_defaults.contentRootKey];
var previousContentRootPath = _hostApplicationBuilder
._hostBuilderContext.hostingEnvironment?.contentRootPath;
for (var configureHostAction in _configureHostConfigActions) {
configureHostAction(config);
}
if (previousApplicationName != config[host_defaults.applicationKey]) {
throw Exception(
'The application name changed from \'$previousApplicationName\''
' to \'$config[host_defaults.applicationKey]\'. Changing host'
' configuration is not supported.',
);
}
if (previousEnvironment != config[host_defaults.environmentKey]) {
throw Exception(
'The environment name changed from \'$previousEnvironment\' to'
' \'$config[host_defaults.environmentKey]\'. Changing host'
' configuration is not supported.',
);
}
var currentContentRootConfig = config[host_defaults.contentRootKey];
if ((previousContentRootConfig != currentContentRootConfig) &&
(previousContentRootPath !=
resolveContentRootPath(currentContentRootConfig, p.current))) {
throw Exception(
'The content root changed from \'$previousContentRootConfig\' to'
' \'$currentContentRootConfig\'. Changing host configuration is'
' not supported.',
);
}
}
for (var configureAppAction in _configureAppConfigActions) {
configureAppAction(_hostApplicationBuilder._hostBuilderContext, config);
}
for (var configureServicesAction in _configureServicesActions) {
configureServicesAction(
_hostApplicationBuilder._hostBuilderContext,
_hostApplicationBuilder.services,
);
if (_configureContainerActions.isNotEmpty) {
var previousConfigureContainer =
_hostApplicationBuilder._configureContainer;
_hostApplicationBuilder._configureContainer = (containerBuilder) {
previousConfigureContainer(containerBuilder);
for (var containerAction in _configureContainerActions) {
containerAction.configureContainer(
_hostApplicationBuilder._hostBuilderContext,
containerBuilder,
);
}
};
}
if (_serviceProviderFactory != null) {
_hostApplicationBuilder._createServiceProvider = () {
var containerBuilder = _serviceProviderFactory!
.createBuilder(_hostApplicationBuilder.services);
_hostApplicationBuilder._configureContainer(containerBuilder);
return _serviceProviderFactory!
.createServiceProvider(containerBuilder);
};
}
}
}