<PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.0-preview.2.25163.2" />

ConfigurationReloadToken

Propagates notifications that a configuration change has occurred.
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Primitives; using System; using System.Runtime.CompilerServices; using System.Threading; namespace Microsoft.Extensions.Configuration { public class ConfigurationReloadToken : IChangeToken { private readonly CancellationTokenSource _cts = new CancellationTokenSource(); public bool ActiveChangeCallbacks { get; set; } = true; public bool HasChanged => _cts.IsCancellationRequested; [System.Runtime.CompilerServices.NullableContext(1)] public IDisposable RegisterChangeCallback([System.Runtime.CompilerServices.Nullable(new byte[] { 1, 2 })] Action<object> callback, [System.Runtime.CompilerServices.Nullable(2)] object state) { return Microsoft.Extensions.Internal.ChangeCallbackRegistrar.UnsafeRegisterChangeCallback(callback, state, _cts.Token, delegate(ConfigurationReloadToken s) { s.ActiveChangeCallbacks = false; }, this); } public void OnReload() { _cts.Cancel(); } } }