Домены приложений и потоки

Обновлен: Ноябрь 2007

Домен приложения формирует изолированную область для безопасности, управления версиями, надежности и выгрузки управляемого кода. Потоки представляют собой структуры операционной системы, используемые в среде CLR для выполнения кода. Во время выполнения весь управляемый код загружается в домен приложения и выполняется в управляемом потоке.

Однозначного соответствия между потоками и доменами приложений не существует. Несколько потоков могут одновременно выполняться в одном домене приложений, при этом конкретный поток не ограничен пределами одного домена приложений. Таким образом, потоки могут использоваться в разных доменах приложений. Новый поток для каждого домена приложения не создается.

В любой момент времени каждый поток выполняется в домене приложения. В любом домене приложения может выполняться один, ни одного или несколько потоков. Среда выполнения отслеживает соответствие потоков и доменов приложений, в которых они исполняются. В любой момент времени можно найти домен, в котором выполняется поток, вызвав метод GetDomain.

Домены приложений и культуры

К потоку можно присоединить объект CultureInfo. Тем не менее, чтобы предотвратить проникновение зловредного кода в другие домены приложений, для объекта CultureInfo автоматически устанавливается в режим только для чтения, когда его поток пересекает границы домена приложения.

Если объект CultureInfo был изменен, например, с помощью измененного объекта Calendar, при попытке потока пересечь границу домена приложения создается исключение InvalidOperationException.

См. также

Ссылки

Thread.GetDomain

Другие ресурсы

Домены приложений