ASP.NET Configuration ve Environment Variables
ASP.NET Configuration ve Environment Variables
ASP.NET projelerinde doğru yapılandırma ve çevre değişkenleri (environment variables) yönetimi, yazılım projelerinin sürdürülebilirliği ve güvenliği için kritik öneme sahiptir. Uygulamaların farklı ortamlarda (geliştirme, test, prodüksiyon) sorunsuz çalışabilmesi için yapılandırma dosyaları ve çevre değişkenlerinin etkin bir şekilde kullanılması gerekmektedir. Bu yazıda, ASP.NET Configuration sisteminin işleyişi ve environment variables kullanımında dikkat edilmesi gereken başlıkları teknik detaylarla ele alacağız.
ASP.NET Configuration Sistemi Nasıl Çalışır?
ASP.NET Core ile birlikte configuration işlemleri oldukça esnek hale gelmiştir. Uygulama yapılandırmaları genellikle appsettings.json dosyasında tutulur ve ihtiyaç halinde farklı kaynaklardan da alınabilir. Klasik bir yapılandırma dosyası örneği:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=mydb;User Id=myuser;Password=mypassword;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
}
}
}
Yapılandırmalar IConfiguration arabirimi üzerinden kolayca okunabilir. Örnek kullanım:
public class HomeController : Controller
{
private readonly IConfiguration _configuration;
public HomeController(IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult Index()
{
string connStr = _configuration.GetConnectionString("DefaultConnection");
return View();
}
}
Environment Variables ile Çevreye Özel Ayarlar
ASP.NET uygulamalarında environment variables sayesinde gizli anahtarlar veya ortam bazlı değişkenler kolayca yönetilebilir. Örneğin, bir kullanıcı adı ya da parola gibi hassas bilgiler kesinlikle kodun veya appsettings.json dosyasının içinde plaintext olarak yazılmamalıdır.
.NET, environment variables'ı Environment.GetEnvironmentVariable veya configuration provider yoluyla okuyabilir:
string apiKey = Environment.GetEnvironmentVariable("MY_API_KEY");
Alternatif olarak, appsettings dosyasında ASPNETCORE_ENVIRONMENT değişkeni kullanılarak staging, development veya production ortamlarına özel ayarlar uygulanabilir:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
Environment Variables Tanımlama
Windows ortamında Command Prompt ile environment variable atamak için:
setx ASPNETCORE_ENVIRONMENT "Production"
Linux ya da macOS için ise:
export ASPNETCORE_ENVIRONMENT=Production
Sonuç: Güvenli ve Esnek Konfigürasyon
ASP.NET Configuration ve environment variables kullanımı, projelerin farklı ortamlara kolayca taşınmasını sağlarken şifre gibi hassas değerlerin gizli tutulmasına imkan tanır. Özellikle production ortamında tüm yapılandırmaların güvenliği ve doğruluğu düzenli olarak kontrol edilmelidir. Böylece, ASP.NET Core projeleri ölçeklenebilir, sürdürülebilir ve güvenli olarak geliştirilebilir.

Yorum Gönder