Кіріспе

CLI қолданбалы домендер

Қолданбалы домен – ортақ тілдік инфрақұрылымда (CLI) орындалатын бағдарламалық қосымшаларды бір-бірінен оқшаулауға арналған механизм (операциялық жүйедегі процеске ұқсас). Осы арқылы, бағдарламалар бір-біріне әсер етпейді. Әрбір қолданбалы доменнің өзіндік виртуалды адрестік кеңістігі болады, ол осы кеңістікті пайдалана отырып, қолданбалы доменге арналған ресурстарды шектейді. NET Core және NET 5+ нұсқаларында бір процесте бірнеше қолданбалы домен құру мүмкін емес.

Қасиеттері

CLI қолданба домені операциялық жүйе процесінің ішінде орналасады. Бір процесс көптеген қолданба домендерін қамтуы мүмкін. Қолданба домендері операциялық жүйе процестеріне ұқсас оқшаулау қасиеттеріне ие: Бір қолданба доменінің ішінде бірнеше жіптер жұмыс істей алады. Бір домендегі қолданбаны сол процесс ішіндегі басқа доменнің күйіне әсер етпей тоқтатуға болады. Бір домендегі қате немесе ерекше жағдай басқа домендегі қолданбаға әсер етпейді және домендерді іске қосқан процестің тоқтауына себеп болмайды. Конфигурация ақпараты процесс емес, доменнің аумағына жатады. Әр доменге әртүрлі қауіпсіздік деңгейлері берілуі мүмкін. Бір домендегі код басқа домендегі кодқа тікелей қол жеткізе алмайды. Осыған орай, CLI – шағын операциялық жүйе сияқты. Ол бірнеше кіші процестерді немесе қолданба домендерін қамтитын бір процесс ішінде жұмыс істейді. Қолданба домендерінің артықшылығы – бірнеше қолданба доменін іске қосу, бірнеше операциялық жүйе процесін іске қосуға қарағанда, жад сияқты ресурстарды аз қажет етуі мүмкін. Домендер арасындағы байланыс үшін деректерді түрлендіру қажет, сондықтан осыған байланысты шығындар бір домендегі байланысқа қарағанда бірнеше процесті пайдалануға жақын болуы мүмкін.

Домен аралық байланыс

Тікелей байланыс барлық қолдану салаларында мүмкін емес. Дегенмен, қолдану салалары мән бойынша (байланбаған нысандар) маршалдау арқылы немесе прокси арқылы сілтеме бойынша маршалдау арқылы (қолдану саласына байланысты нысандар) нысандарды жіберу арқылы бір-бірімен байланыса алады. Үшінші типтегі нысан – контекстке байланысты нысан, ол домендер арасында сілтеме арқылы маршалдануға және өз қолдану саласының контексінде де қолданылуға қабілетті. Басқарылатын кодтың тексерілген типтік қауіпсіздігінің арқасында, CLI домендер арасындағы қателерді операциялық жүйе процесіне қарағанда әлдеқайда арзан оқшаулай алады. Оқшаулау үшін қолданылатын статикалық типті тексеруге операциялық жүйе процесіне қажетті процестік ауысулар немесе аппараттық сақиналық өтулер қажет емес.

Басқарылатын код

Қолданба домендері – таза басқарылатын кодтың түсінігі. Кез келген қосылған жергілікті/басқарылмаған код (мысалы, C++) олар туралы көбінесе хабардар болмайды. Статикалық айнымалылар домендер арасында ортақ сияқты көрінеді, кері шақырулар қиындық тудыруы мүмкін, ал бір домендегі жадқа қатысты кез келген қате басқа домендердің де жұмысын бұзуы мүмкін.