我很难理解在 azure key Vault 中以 json 格式存储数据或将每个密钥映射到我的“appsettings.json”文件的最佳实践是什么。我读了很多关于这个问题的文章,但我无法弄清楚它到底是如何完成的
我如何检索格式化的 json 字符串并将其映射到对象或将每个密钥保管库分配到我的 appsettings.json
这就是我的 json 的样子。
{
"Container":{
"Machine1":{
"url":"some address "
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢,非常感谢你的帮助
当配置对象通过以下方式注册时,它的生命周期是哪个?它是单例、瞬态还是作用域?
{
services.Configure<SomeConfiguration>(configuration.GetSection(nameof(SomeConfiguration)));
}
Run Code Online (Sandbox Code Playgroud)
这就是我将配置添加到服务类中的方法
public class SomeService: ISomeService
{
public SomeService(IOptionsMonitor<SomeConfiguration> configuration)
{
_configuration = configuration.CurrentValue;
}
}
Run Code Online (Sandbox Code Playgroud)
通过调试很难知道它是否是单例。因为 IOptionsMonitor 能够通过在 appsettings.json 更改上运行观察程序来检测运行时的更改
我知道这个问题已经被无休止地问了,但仍然如此。我想我错过了一些东西。当我们想要以异步方式更新 UI(为了论证而使用 WinForm UI)时。但是我们不能使用 async /await 关键字,而必须使用ConfigureAwait(false)。据我了解,它“告诉”任务它可以在任何可用线程上自行恢复,而不是等待主线程。它通过释放 UI 来防止死锁,因为它不等待长进程完成,并且任务不等待主 UI 线程可用。
下面的代码演示了经典的死锁
public void Button_Click()
{
SomeTextBox.Text =LongProcessAsync().Result;
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题开始了:)。长进程任务完成后,UI 线程最终如何更新 UI。
是因为任务将结果传递给另一个 UI 进程来完成作业吗?UI 队列消息如何与该部分相关?当说只有一个线程更新 ui 时,是否意味着该线程在应用程序的整个生命周期中都存在,或者只有一个线程正在更新 ui,但可以创建一个新线程并执行该操作?
谢谢