.net C#选项模式不会重新加载

b09cbbtk  于 2022-12-24  发布在  .NET
关注(0)|答案(1)|浏览(140)

在此代码段中,将显示“Changed”,但不会显示“Changed!”。
我想问题出在.Configure<Profile>(profile => configuration.Bind(profile))上,但是如何使它工作呢?

public static void Run()
    {
        var configuration = new ConfigurationBuilder()
            .AddJsonFile(path: "Properties/profile.json", optional: false, reloadOnChange: true)
            .Build();

        ChangeToken.OnChange(
            () => configuration.GetReloadToken(),
            () => Console.WriteLine("Changed"));

        new ServiceCollection()
            .AddOptions()
            .Configure<Profile>(profile => configuration.Bind(profile))
            .BuildServiceProvider()
            .GetRequiredService<IOptionsMonitor<Profile>>()
            .OnChange(profile => Console.WriteLine("Changed!"));
        Console.Read();
    }
rkkpypqq

rkkpypqq1#

.Configure<Profile>(profile => configuration.Bind(profile))我测试过了。这是配置的绑定,使得示例在修改时不会重新填充。

相关问题