进程范围的“AssemblyLoad”事件
我可以使用 AppDomain.AssemblyLoad 事件接收事件,但仅限于特定的应用程序域。如果我有递归创建更多应用程序域的应用程序域,我相信我的 AssemblyLoad 事件将不适用于那些“孙子”应用程序域。
无论哪个应用程序域加载了程序集,如何确保触发 AssemblyLoad 事件?
I can receive events, using the AppDomain.AssemblyLoad event, but only for a particular app domain. If I have appdomains that recursively create more appdomains, I believe my AssemblyLoad event will not work for those "grand-child" appdomains.
How can I be sure to get an AssemblyLoad event triggered, regardless of what appdomain loaded an assembly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每个 AD 都必须注册自己的 AssemblyLoad 事件。显然,您至少会错过加载到其中的第一个程序集。 “进程端”事件的想法是模糊的,这些事件处理程序不能共享任何内容,因为每个 AD 都有自己的垃圾收集堆。我想您可以将信息序列化回主 AD。
Each AD will have to register its own AssemblyLoad event. You will obviously miss at least the 1st assembly you load into it. The idea of a "process-side" event is murky, these event handlers cannot share anything since each AD has its own garbage collected heap. I guess you could serialize info back to the primary AD.