Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <inheritdoc />
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            await _startupTaskExecutor.ExecuteAsync(cancellationToken)
            .ConfigureAwait(false);

            _startupTaskExecutor = null;

            await _serviceHost.StartAsync(cancellationToken)
            .ConfigureAwait(false);
        }