我想使用选项模式访问项目的用户秘密。但是,当我使用选项模式时,秘密值是null。但是我的其他配置选项效果很好。
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettingsData>(Configuration);
services.Configure<MyUserSecrets>(Configuration);
}
MyController.cs
MyController(
IOptionsMonitor<MyUserSecrets> myUserSecrets
){
_mySecrets = myUserSecrest.CurrentValue;
}
根据我应该将AddUserSecrets添加到构建器的文档,我的构建器看起来与示例代码不同。这是我的建造者:
Program.cs
var builder = CreateWebHostBuilder(args);
builder.add // No AddUserSecrest available...
builder.Build().Run();
答案 0 :(得分:0)
为了从appsettings中获取小节,该选项需要询问配置以获取小节。
services.Configure<AppSettingsData>(Configuration);
services.Configure<MyUserSecrets>(Configuration.GetSection("MyUserSecrets"));