Unidevel.Extensions.Hosting 0.9.1

Extends Microsoft's BackgroundService to create fail-slow service which tries to handle failures
internally, perform limited number of restarts, waits for recovery etc.

There is a newer version of this package available.
See the version list below for details.
Install-Package Unidevel.Extensions.Hosting -Version 0.9.1
dotnet add package Unidevel.Extensions.Hosting --version 0.9.1
<PackageReference Include="Unidevel.Extensions.Hosting" Version="0.9.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Unidevel.Extensions.Hosting --version 0.9.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Synopsis

Provides full-flavour implementation of error-prune background service with Serilog logging and environment
dependend configuration.

Code Example

Hosting SafeBackgroundService (and other IHostServices)

class Program : ProgramBase<HostedServiceLikeSafeBackgroundService>
{
    protected override void ConfigureServices(HostBuilderContext hostContext, IServiceCollection services)
    {
        services
            .AddSingleton<ISomeService, SomeServiceImpl>();

        // do not add HostedService to services, it has already been added
    }

    public static void Main(string[] args)
    {
        new Program().run();
    }
}

Implementing SafeBackgroundService

To use this class you should override at least one of first three methods below.

    protected abstract Task ConnectAsync(CancellationToken cancellationToken);

    protected abstract Task DisconnectAsync();

    protected abstract Task ExecuteIterationAsync(CancellationToken cancellationToken);

    protected virtual void Panic(Exception reasonException) { }

Synopsis

Provides full-flavour implementation of error-prune background service with Serilog logging and environment
dependend configuration.

Code Example

Hosting SafeBackgroundService (and other IHostServices)

class Program : ProgramBase<HostedServiceLikeSafeBackgroundService>
{
    protected override void ConfigureServices(HostBuilderContext hostContext, IServiceCollection services)
    {
        services
            .AddSingleton<ISomeService, SomeServiceImpl>();

        // do not add HostedService to services, it has already been added
    }

    public static void Main(string[] args)
    {
        new Program().run();
    }
}

Implementing SafeBackgroundService

To use this class you should override at least one of first three methods below.

    protected abstract Task ConnectAsync(CancellationToken cancellationToken);

    protected abstract Task DisconnectAsync();

    protected abstract Task ExecuteIterationAsync(CancellationToken cancellationToken);

    protected virtual void Panic(Exception reasonException) { }

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
0.9.3 179 9/25/2019
0.9.2 114 7/20/2019
0.9.1 112 7/19/2019
0.9.0 115 7/19/2019