/// <summary> /// Instantiates the object being created using the passed in option and logger. /// </summary> /// <param name="periodMonitor">The configuration options for the periodic execution</param> /// <param name="logger">The logger instance.</param> protected TimedHostedServiceBase(IOptionsMonitor <TimeHostedServiceOptions> periodMonitor, ILogger logger) { Logger = logger; _periodMonitor = periodMonitor.Ensure(nameof(periodMonitor)).IsNotNull().Value; }