Я настраиваю новый контейнер Docker в asp.net, используя Visual Studio и usersecrets. Как мне получить доступ к пользовательским секретам при отладке из контейнера?
Контейнер — это контейнер Linux, в котором размещается общий сервис. Он работает нормально, если я предоставляю файл appsettings.json. файл, но он не будет заполнять форму secrets.json. Кстати, мне удалось заставить его работать со стандартным консольным приложением asp.net.
Я просмотрел https://learn.microsoft.com/en- us/aspnet/core/security/app-secrets?view=aspnetcore-2.2&tabs=windows безрезультатно.
Я также посмотрел https://learn.microsoft .com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-2.2, а также страницу.
Кажется, ничто не указывает на их использование. с докер-контейнером.
Код: Выделить всё
`var builder = new HostBuilder()
.ConfigureHostConfiguration(configHost =>
{
configHost.SetBasePath(Directory.GetCurrentDirectory());
configHost.AddJsonFile("hostsettings.json", optional: true);
configHost.AddEnvironmentVariables(prefix: "PREFIX_");
if (args != null)
{
configHost.AddCommandLine(args);
}
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile("appsettings.json", optional: true);
if(hostingContext.HostingEnvironment.IsDevelopment())
{
config.AddUserSecrets();
}
})
.ConfigureServices((hostContext, services) =>
{
services.Configure (hostContext.Configuration.GetSection(nameof(SecretStuff)));
services.Configure(hostContext.Configuration);
services.AddScoped();
services.AddHostedService();
});
await builder.RunConsoleAsync();'
Источник: https://stackoverflow.com/questions/545 ... net-consol
Мобильная версия