2010-08-18 2 views
0

Я могу получать события, используя событие AppDomain.AssemblyLoad, но только для определенного домена приложения. Если у меня есть appdomains, которые рекурсивно создают больше областей приложения, я считаю, что мое событие AssemblyLoad не будет работать для тех приложений домена «grand-child».Событие «AssemblyLoad» для всей системы

Как я могу убедиться, что событие AssemblyLoad запущено, независимо от того, какой appdomain загрузил сборку?

ответ

0

Каждый AD должен будет зарегистрировать свое собственное событие AssemblyLoad. Очевидно, вы пропустите хотя бы одну сборку, которую вы загрузите в нее. Идея события «сторона процесса» является мутной, эти обработчики событий не могут делиться чем-либо, так как каждый AD имеет свою собственную сборку мусора. Я предполагаю, что вы можете сериализовать информацию обратно в первичный AD.

+0

Как вы заметили, знаете ли вы, может ли событие загрузки сборки «коснуться» или изменить статику в недавно загруженной сборке? –

+0

Несомненно, у каждого AD есть своя область хранения статики (куча загрузчика). –

Смежные вопросы