/// <summary> /// Initializes a new instance of the <see cref="MicrosoftHostingAdapter"/> class. /// </summary> /// <param name="startupTaskExecutor">The startup task executor.</param> /// <param name="serviceHost">The background service host.</param> public MicrosoftHostingAdapter(IStartupTaskExecutor startupTaskExecutor, IBackgroundServiceHost serviceHost) { Ensure.Arg.NotNull(startupTaskExecutor, nameof(startupTaskExecutor)); Ensure.Arg.NotNull(serviceHost, nameof(serviceHost)); _startupTaskExecutor = startupTaskExecutor; _serviceHost = serviceHost; }
/// <inheritdoc /> public async Task StartAsync(CancellationToken cancellationToken) { await _startupTaskExecutor.ExecuteAsync(cancellationToken) .ConfigureAwait(false); _startupTaskExecutor = null; await _serviceHost.StartAsync(cancellationToken) .ConfigureAwait(false); }