Table of Contents

HostBuilderExtensions Class

Definition

Namespace
Cuemon.Extensions.Hosting
Assemblies
Cuemon.Extensions.Hosting.dll
Source
src/Cuemon.Extensions.Hosting/HostBuilderExtensions.cs

Extension methods for the IHostBuilder interface.

public static class HostBuilderExtensions
Inheritance
HostBuilderExtensions

Examples

The following example demonstrates how to add and remove configuration sources through .

using System;
using System.Collections.Generic;
using Cuemon.Extensions.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Memory;
using Microsoft.Extensions.Hosting;

namespace MyApp.Examples;

public static class HostBuilderExtensionsExample
{
    public static void Demonstrate()
    {
        var hostBuilder = Host.CreateDefaultBuilder()
            .ConfigureConfigurationSources((environment, sources) =>
            {
                sources.Add(new MemoryConfigurationSource
                {
                    InitialData = new Dictionary<string, string>
                    {
                        ["App:Environment"] = environment.EnvironmentName
                    }
                });
            })
            .RemoveConfigurationSource((environment, source) =>
                environment.IsProduction() && source is MemoryConfigurationSource);

        using var host = hostBuilder.Build();
        var configuration = (IConfiguration)host.Services.GetService(typeof(IConfiguration));

        Console.WriteLine(configuration["App:Environment"] == null);
    }
}

Methods

Name Description
ConfigureConfigurationSources(IHostBuilder, Action<IHostEnvironment, IList<IConfigurationSource>>)

Provides a way to configure the sources of the IConfigurationBuilder.

RemoveConfigurationSource(IHostBuilder, Func<IHostEnvironment, IConfigurationSource, bool>)

Provides a way to remove a source of the IConfigurationBuilder.