什么组件加载机制适合我的情况

本文关键字:我的 情况 机制 组件 加载 什么 | 更新日期: 2023-09-27 17:59:54

  • 我有httphandler,在它的构造函数中,我需要加载一个程序集,这个程序集需要是可替换的,而无需重新启动应用程序
  • 这个程序集包括类似实用程序的类,其中所有类都只有静态方法
  • 加载程序集后,我遍历它的所有类方法,并将每个方法的委托存储在字典中,如下所示:

    MyDictionary.Add("SomeMethodName",
        (MyDelegate)Delegate.CreateDelegate(typeof(MyDelegate),
            MyAssembly.GetType("MyNamespace.MyClass").GetMethod("SomeMethod"))
    
  • 现在,在我只使用无状态类的情况下,什么是最好的程序集加载技术?我在谷歌上搜索过,所有主题都将创建一个单独的appdomain并在那里加载程序集,这适合我的情况吗?

什么组件加载机制适合我的情况

。NET不允许卸载程序集。唯一的方法是卸载AppDomain。因此,您应该创建新的AppDomain并在那里加载程序集(并在应用程序域之间使用封送处理,而不仅仅是加载和遍历它),或者只添加程序集而不卸载它们。

看看这里,看看在非默认AppDomain中加载是如何工作的。

相关文章: