2010-08-18 48 views
0

我可以使用AppDomain.AssemblyLoad事件接收事件,但仅适用于特定的应用程序域。如果我有递归创建更多应用程序域的appdomains,我相信我的AssemblyLoad事件不适用于那些“grand-child”appdomains。流程范围的“AssemblyLoad”事件

无论appdomain加载的程序集是什么,我如何确保能够触发AssemblyLoad事件?

回答

0

每个AD将不得不注册自己的AssemblyLoad事件。显然,你至少会错过你加载的第一个程序集。 “过程方”事件的概念很模糊,由于每个AD都有自己的垃圾收集堆,因此这些事件处理程序不能共享任何内容。我想你可以将信息序列化回主AD。

+0

作为一个便笺,你碰巧知道一个程序集加载事件是否可以“触摸”或修改新加载程序集中的静态信息? – 2010-08-18 06:01:48

+0

当然,每个AD都有自己的静态存储区(loader heap)。 – 2010-08-18 10:25:53