通过asp.net core

时间:2017-07-26 11:22:22

标签: c# configuration asp.net-core

我根据this (Basic sample of Entity Framework custom provider)文章编写了一个配置提供程序。

我还覆盖了base class的Set方法,将配置保存回数据库。

public virtual void Set(string key, string value)
{
   // save key / value pair to db.
}

如果我保存这样的配置,这也可以正常工作:

IConfiguration configuration = ...
configuration["Key"] = "value";

但如果我想通过自定义选项类保存它,这不起作用:

public class MyOptions
{
   public string Key { get; set; }
}

public class HomeController : Controller
{
    private readonly MyOptions _options;

    public HomeController(IOptions<MyOptions> optionsAccessor)
    {
        _options = optionsAccessor.Value;
    }

    public IActionResult Index()
    {
        _options.Key = "new value"; // <-- not calling the set in my provider
    }
}

有人知道如何解决这个问题吗?

更新

我知道配置框架无法跟踪我对MyOptions所做的更改,因此无法自动更新它。但还有其他方法可以触发保存配置吗?

0 个答案:

没有答案