Table of Contents

HostBuilderExtensions Class

Definition

Namespace
Codebelt.Bootstrapper
Assemblies
Codebelt.Bootstrapper.dll
Source
src/Codebelt.Bootstrapper/HostBuilderExtensions.cs

Extension methods for the IHostBuilder.

public static class HostBuilderExtensions
Inheritance
HostBuilderExtensions

Examples

The following example shows how to install BootstrapperLifetime, register a conventional StartupRoot partner through UseBootstrapperStartup<TStartup>, and apply local-development environment defaults on a conventional IHostBuilder produced by Host.CreateDefaultBuilder.

using Codebelt.Bootstrapper;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace HostBuilderExtensionsDemo;

public class MyStartup : StartupRoot
{
    public MyStartup(IConfiguration configuration, IHostEnvironment environment) : base(configuration, environment)
    {
    }

    public override void ConfigureServices(IServiceCollection services)
    {
    }
}

public static class Program
{
    public static void Main()
    {
        var host = Host.CreateDefaultBuilder()
            .UseBootstrapperLifetime()
            .UseBootstrapperStartup<MyStartup>()
            .UseBootstrapperEnvironmentDefaults<MyStartup>()
            .Build();

        var lifetime = host.Services.GetRequiredService<IHostLifetime>();
        var factory = host.Services.GetRequiredService<IStartupFactory<MyStartup>>();
        host.Run();
    }
}

Methods

Name Description
UseBootstrapperEnvironmentDefaults<TStartup>(IHostBuilder)

Adds conventional environment defaults for local development.

UseBootstrapperLifetime(IHostBuilder)

Listens for Ctrl+C or SIGTERM and calls StopApplication() to start the shutdown process.

UseBootstrapperStartup<TStartup>(IHostBuilder)

Provides an implementation of a conventional based IStartupFactory<TStartup>.