private async void UpdateStorageAsync(object?obj) { try { await _localStorage.SetItemAsync(GetType().FullName, _data); await _localStorage.SetItemAsync($"{GetType().FullName}-relation", _relations); } catch { } ChangeToken.RegisterChangeCallback(UpdateStorageAsync, default); }
public StandbyManager(IScriptHostManager scriptHostManager, ILanguageWorkerChannelManager languageWorkerChannelManager, IConfiguration configuration, IScriptWebHostEnvironment webHostEnvironment, IEnvironment environment, IOptionsMonitor <ScriptApplicationHostOptions> options, ILogger <StandbyManager> logger, HostNameProvider hostNameProvider) { _scriptHostManager = scriptHostManager ?? throw new ArgumentNullException(nameof(scriptHostManager)); _options = options ?? throw new ArgumentNullException(nameof(options)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _specializationTask = new Lazy <Task>(SpecializeHostCoreAsync, LazyThreadSafetyMode.ExecutionAndPublication); _webHostEnvironment = webHostEnvironment ?? throw new ArgumentNullException(nameof(webHostEnvironment)); _environment = environment ?? throw new ArgumentNullException(nameof(environment)); _configuration = configuration as IConfigurationRoot ?? throw new ArgumentNullException(nameof(configuration)); _languageWorkerChannelManager = languageWorkerChannelManager ?? throw new ArgumentNullException(nameof(languageWorkerChannelManager)); _hostNameProvider = hostNameProvider ?? throw new ArgumentNullException(nameof(hostNameProvider)); _changeTokenCallbackSubscription = ChangeToken.RegisterChangeCallback(_ => _logger.LogDebug($"{nameof(StandbyManager)}.{nameof(ChangeToken)} callback has fired."), null); }