HostApplicationBuilder constructor
HostApplicationBuilder({
- HostApplicationBuilderSettings? settings,
Implementation
HostApplicationBuilder({HostApplicationBuilderSettings? settings}) {
var appSettings = settings ?? HostApplicationBuilderSettings();
_configuration = appSettings.configuration ?? ConfigurationManager();
if (!appSettings.disableDefaults) {
HostingHostBuilderExtensions.applyDefaultHostConfiguration(
configuration,
appSettings.args,
);
}
List<MapEntry<String, String>>? optionList;
if (appSettings.applicationName != null) {
optionList ??= <MapEntry<String, String>>[];
optionList.add(
MapEntry(host_defaults.applicationKey, appSettings.applicationName!),
);
}
if (appSettings.environmentName != null) {
optionList ??= <MapEntry<String, String>>[];
optionList.add(
MapEntry(host_defaults.environmentKey, appSettings.environmentName!),
);
}
if (appSettings.configurationRootPath != null) {
optionList ??= <MapEntry<String, String>>[];
optionList.add(
MapEntry(
host_defaults.contentRootKey, appSettings.configurationRootPath!),
);
}
if (optionList != null) {
configuration.addInMemoryCollection(optionList);
}
var hostingEnvironment = createHostingEnvironment(configuration);
_hostBuilderContext = HostBuilderContext(<Object, Object>{})
..hostingEnvironment = hostingEnvironment
..configuration = configuration;
_environment = hostingEnvironment;
populateServiceCollection(
services,
_hostBuilderContext,
hostingEnvironment,
configuration,
() => _appServices!,
);
_logging = _LoggingBuilder(services);
ServiceProviderOptions? serviceProviderOptions;
if (!appSettings.disableDefaults) {
HostingHostBuilderExtensions.addDefaultServices(
_hostBuilderContext,
services,
);
serviceProviderOptions =
HostingHostBuilderExtensions.createDefaultServiceProviderOptions(
_hostBuilderContext,
);
}
_createServiceProvider = () {
// Call _configureContainer in case anyone adds callbacks via
// HostBuilderAdapter.ConfigureContainer<ServiceCollection>() during
// build. Otherwise, this no-ops.
_configureContainer(services);
return serviceProviderOptions == null
? services.buildServiceProvider()
: services.buildServiceProvider(serviceProviderOptions);
};
}