Sdílet prostřednictvím


Domény aplikace a vlákna

Doména aplikace tvoří izolační hranici pro zabezpečení, správu verzí, spolehlivost a uvolňování spravovaného kódu. Vlákna jsou tvořena operačním systémem, který používá modul CLR (Common Language Runtime) k provádění kódu. V době spuštění je všechen spravovaný kód načten do domény aplikace a spuštěn spravovaným vláknem.

Mezi doménami aplikace a vlákny neexistuje žádná korelace typu 1:1. Několik vláken může být v daném čase vykonáváno v jediné doméně aplikace a konkrétní vlákno není omezeno na jedninou aplikační doménu. To znamená, že vlákna nejsou omezena hranicemi aplikační domény; nové vlákno není vytvořeno pro každou doménu aplikace.

V kterémkoli okamžiku je každé vlákno spuštěno v doméně aplikace. Žádné, jedno nebo více než jedno vlákno, může být spuštěno v libovolné doméně aplikace. Modul runtime eviduje o každém vlákně informaci o tom, ve které aplikační doméně běží. Kdykoliv můžete nalézt doménu, ve které je vlákno prováděno voláním metody GetDomain.

Aplikační domény a kultury

K vláknu je možné připojit objekt CultureInfo. Nicméně, kvůli zabránění škodlivému kódu vstupovat do jiných aplikačních domén se CultureInfo objekt automaticky nastaví na hodnotu jen pro čtení, když jeho vlákno překračuje hranice domény aplikace.

Pokud byl objekt CultureInfo přizpůsoben například s přizpůsobeným Calendar, je vyvolána výjimka InvalidOperationException, když se vlákno pokusí překročit hranice domény aplikace.

Viz také

Odkaz

Thread.GetDomain

Koncepty

Domény aplikace