2010-08-18 19 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