Как класс ExecutionContext связан с "контекстами"? - PullRequest
2 голосов
/ 20 апреля 2011

Контексты создают подразделенные «контейнеры» в доменах для объектов со специальными потребностями (или в случае объектов, которые не имеют особых потребностей, используется контекст по умолчанию).

У меня проблемы с пониманием того, как класс ExecutionContext связан с этими контекстами.

Как они связаны или отличаются и т. Д.? 1005 *

1 Ответ

2 голосов
/ 08 июня 2011

ExecutionContext - это контейнер для информации, связанной с выполнением потока. Так что это в значительной степени просто специализированный контекст. У него есть несколько полезных свойств, но они, вероятно, не применимы к другим типам контекстов, что нормально, поскольку разные контексты могут иметь разное использование.

С MSDN :

Класс ExecutionContext предоставляет один контейнер для всей информации отношение к логической цепочке выполнение. Это включает в себя безопасность контекст, контекст вызова и контекст синхронизации.

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

Контекст выполнения является управляемым эквивалент квартиры COM. В домен приложения, весь контекст выполнения должен быть передан всякий раз, когда поток передается. это ситуация возникает во время переводов методом Thread.Start чаще всего операции пула потоков и Windows Формирует нить маршалинг через Windows сообщение насос. Это не происходят в небезопасных операциях пула потоков (например, UnsafeQueueUserWorkItem метод), которые не переносят сжатый стек.

Вы можете узнать больше информации о ExecutionContext по ссылке выше.

...