← Назад в блог
Переменные окружения и секреты в .NET Core: лучшие практики
- Опубликовано
- • 1 мин чтения•--- просмотров
Environment (окружение) — это именно то место, где ты будешь хранить такие переменные, как строки подключения, разные имена пользователей для авторизации во внешних системах, порты, числовые настройки и так далее.
Dotnet-фреймворк предоставляет специальный интерфейс для работы с env-файлами, а также специальный защищённый контейнер для более чувствительной и защищённой информации, который называется user-secrets.
Добавление секретов в проект
dotnet user-secrets init
dotnet user-secrets set "Redis:ConnectionString" "12345"
Доступ к конфигурации (для секретов — аналогично)
IConfiguration configuration;
// with get
Configuration.GetSection("Redis")
// indexed key style
Configuration["Redis:ConnectionString"]
Маппинг конфигурации в POCO
var moviesConfig = Configuration.GetSection("Redis").Get<RedisOptions>();
Доступ к объекту конфигурации через Dependency Injection
class RedisOptions {
public string ConnectionString {get; set;}
//...
}
// binding configuration section to runtime object
services.Configure<RedisOptions>("Redis");
// Accessing anywhere in constructor through DependencyInjection
class Controller {
public Controller(IOptions<JwtSettingsDto> jwtOptions)
{
//...
}
}
Доступ к строке подключения
Configuration.GetConnectionString("DefaultConnectionString");
Открыт для работы по контракту
Я доступен для работы по контракту. Если у вас есть интересная идея проекта — запишитесь на звонок через Calendly.
Записаться на 30-минутный звонок