İçindekiler:
Tanımı - Uygulama Etki Alanı ne anlama geliyor?
Uygulama etki alanı, uygulamaların birbirine erişmemesini veya onları etkilememesi için .NET uygulamaları etrafında oluşturulan mantıksal bir yalıtım sınırıdır. Kendi kod, veri ve yapılandırma ayarlarına sahip hafif bir işlemdir. Uygulama etki alanları, yürütülmesi gereken uygulamaları yüklemek için ortak dil çalışma zamanı (CLR) tarafından çağrılan çalışma zamanı ana bilgisayarları tarafından oluşturulur.
.NET'ten önce, uygulamalar arasındaki yalıtım sınırı yüklendikleri süreçlerdi. Her işlemin kendi özel sanal belleği vardı ve başka bir işlemin belleğine doğrudan erişemiyor. Uygulama etki alanı, bir işleminkine benzer özelliklere sahiptir.
Uygulama etki alanları aşağıdaki özelliklere sahiptir:
- Birden çok uygulamayı yürütmek için daha az işlem kullanarak sistem kaynaklarının optimum kullanımı.
- Verilerin paylaşılamadığı durumlarda ve işlemi etkilemeden kaldırılması gereken kararsız görevler için görev yalıtımını kullanarak güvenilirlik.
- En iyi belleğe sahip büyük uzantıları nadiren kullanan uzun süreli işlemleri gerçekleştirerek daha iyi verimlilik.
- Bir uygulamada çalışan koda, başka bir uygulamanın kodundan veya kaynaklarından doğrudan erişimi kısıtlayarak uygulama güvenliği.
- Her uygulama etki alanı için yapılandırma ayrıntılarını belirterek güvenlik kontrolü.
Techopedia Uygulama Alanını Açıklıyor
Uygulama etki alanı, CLR'nin tek bir işlemde birden çok .NET uygulamasını yükleme ve yürütme biçiminden farklıdır. Yüklenen uygulamaların belleğine doğrudan erişime izin vermez. Bir işlem işletim sistemi tarafından yönetilirken, .NET Framework'ün CLR'si tarafından yönetilir. CLR, yönetilen kodun doğrulanabilir tip güvenliği özelliğinden dolayı süreçlerden daha az ek yüke sahip uygulama alanları arasında hata yalıtımı sağlar. Ayrıca, bir uygulama etki alanında birden çok iş parçacığı bulunabilir, uygulama etki alanı sınırlarını geçmekte serbesttirler.
Örneğin, ASP.NET, bir web sitesine erişen her kullanıcı için birden çok uygulama etki alanı oluşturan bir çalışma zamanı ana bilgisayarıdır. Ayrıca, kodu izole etmesi veya uzantıları yalnızca bunları kullanırken yüklemesi gereken uygulamalar için de oluşturulabilir ve yapılandırılabilir. Bu gerçek, uygulama alanlarını eklentilerin ve diğer güvenilir olmayan kodların kullanıldığı durumlarda kullanışlı hale getirir. Ayrıca, büyük DLL dosyaları kullanan uygulamaların çalışma kümesinin en aza indirilmesinde de faydalıdırlar.
Farklı uygulama etki alanlarındaki nesneler arasındaki iletişimi etkinleştirmek için aşağıdaki üç nesne türünden biri kullanılır:
- Mareşale Göre Değer: Çağıran uygulama etki alanına iletilen nesnenin tam kopyası. Bu, performans nedeniyle nesnelerin durumu hareket ettirilebildiğinde kullanılır.
- Mareşal-Referans-Referans (MBR): Nesnenin bir proxy'si istemciye iletilir; nesnenin durumu uygulama etki alanında kalması gerektiğinde kullanılır.
- Bağlama bağlı: Etki alanlarında veya kendi uygulama etki alanı bağlamında kullanılan MBR nesnesi.