Table of Contents

Class HostBuilderExtensions

Namespace
Codebelt.Bootstrapper.Console
Assembly
Codebelt.Bootstrapper.Console.dll

Extension methods for the IHostBuilder.

public static class HostBuilderExtensions
Inheritance
HostBuilderExtensions

Examples

The following example shows how to call UseConsoleStartup<TStartup> on a conventional IHostBuilder to register a ConsoleHostedService<TStartup> so the host runs the startup's RunAsync method from a hosted service.

using System;
using System.Threading;
using System.Threading.Tasks;
using Codebelt.Bootstrapper.Console;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace UseConsoleStartupDemo;

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

    public override void ConfigureServices(IServiceCollection services)
    {
    }

    public override Task RunAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken)
    {
        return Task.CompletedTask;
    }
}

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

        host.Run();
    }
}

Methods

UseConsoleStartup<TStartup>(IHostBuilder)

Provides an implementation of IHostedService that has the role of a console application.

public static IHostBuilder UseConsoleStartup<TStartup>(this IHostBuilder hostBuilder) where TStartup : ConsoleStartup

Parameters

hostBuilder IHostBuilder

The IHostBuilder to configure.

Returns

IHostBuilder

The same instance of the IHostBuilder for chaining.

Type Parameters

TStartup

The type containing the startup methods for the application.