Uygulama alanı - Application domain

Bir uygulama alanı , (a benzer bir mekanizmadır işleminde bir in işletim sistemi içinde kullanılan) ortak dil Altyapı yürütülür izole edilmesi için (CLI) yazılım uygulamaları birbirlerini etkilemezler böylece bir diğerinden. Her uygulama alanı kendi vardır sanal adres alanı kapsamları o kullanarak uygulama etki alanı için kaynaklar adres alanı .

Aynı işlemde birden fazla uygulama etki alanı oluşturmak .NET Core ve .NET 5+ ile mümkün değildir.

Özellikleri

Bir CLI uygulama etki alanı, bir işletim sistemi işleminin içinde yer alır. Bir süreç birçok uygulama alanı içerebilir. Uygulama etki alanları, işletim sistemi işlemlerine benzer yalıtım özelliklerine sahiptir:

  • Tek bir uygulama etki alanında birden çok iş parçacığı bulunabilir.
  • Bir etki alanındaki bir uygulama, aynı süreçte başka bir etki alanının durumunu etkilemeden durdurulabilir.
  • Bir etki alanındaki bir hata veya istisna , başka bir etki alanındaki bir uygulamayı etkilemez veya etki alanlarını barındıran tüm süreci çökertmez.
  • Yapılandırma bilgileri, işlemin kapsamının değil, etki alanının kapsamının bir parçasıdır.
  • Her etki alanına farklı güvenlik erişim düzeyleri atanabilir.
  • Bir alandaki kod, başka bir alandaki koda doğrudan erişemez.

Bu anlamda, CLI bir mini işletim sistemi gibidir. Bir dizi alt işlemi veya uygulama etki alanını içeren tek bir işlemi çalıştırır.

Uygulama etki alanlarının avantajı, birden çok uygulama etki alanını çalıştırmanın, birden çok işletim sistemi işlemi çalıştırmaya göre bellek gibi daha az kaynak gerektirmesidir. Etki alanları arasındaki iletişim hala sıralanmayı gerektirir, bu nedenle genel giderler, tek bir etki alanı içinde iletişim kurmaktan çok birden çok işlemi kullanmaya daha yakın olabilir.

Alanlar arası iletişim

Uygulama alanları arasında doğrudan iletişim sağlanamaz. Ancak, uygulama bölgeleri, geçirilerek birbirlerine konuşabilir nesneleri ile sıralanırken bir vekil (uygulama alanı-bağlı nesneler) ile referans ile bu sıralanırken, değer (bağlanmamış maddeler) ile. Etki alanları arasında ve ayrıca kendi uygulama etki alanı bağlamında referansla sıralanabilen, bağlama bağlı nesne adı verilen üçüncü bir nesne türü vardır. Yönetilen kodun doğrulanabilir tür güvenliği nedeniyle , bir CLI, bir işletim sistemi işleminin yapabileceğinden çok daha düşük bir maliyetle etki alanları arasında hata yalıtımı sağlayabilir. Yalıtım için kullanılan statik tür doğrulaması, bir işletim sistemi işleminin gerektirdiği aynı işlem anahtarlarını veya donanım halka geçişlerini gerektirmez.

Yönetilen kod

Uygulama alanları, tamamen yönetilen bir kod konseptidir. Dahil edilen herhangi bir yerel / yönetilmeyen kod (örneğin, C ++) büyük ölçüde bunların farkında değildir. Statik değişkenler etki alanları arasında paylaşılıyor gibi görünüyor, geri aramalar sorunlu olabilir ve bir etki alanındaki herhangi bir bellek bozulması hataları büyük olasılıkla diğer etki alanlarını bozabilir.

Referanslar