public ClockServer(IOptions <ClockServerOptions> options) { Options = options?.Value ?? throw new ArgumentNullException(nameof(options)); Update(Options.AsSettings()); Elapsed = TimeSpan.Zero; ClockTimer = new Timer(1000); ClockTimer.Elapsed += Tick; Multicaster = new ClockMulticaster(Options.Multicast, this); PollingService = new ClockPollingService(Options.Polling, this); }
public ClockServer(IOptions <ClockServerOptions> options) { Options = options?.Value ?? throw new ArgumentNullException(nameof(options)); Name = Options.Name; Password = Options.Password; Update(Options.AsSettings()); Elapsed = TimeSpan.Zero; ClockTimer = new Timer(1000); ClockTimer.Elapsed += Tick; Multicaster = new ClockMulticaster(Options.Multicast, this); PollingService = new ClockPollingService(Options.Polling, this); UtcOffset = TimeZoneInfo.FindSystemTimeZoneById(Options.TimeZoneId).GetUtcOffset(DateTime.Today); }