什么装配加载机制适合我的情况

时间:2011-06-19 19:09:01

标签: c# .net

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

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

1 个答案:

答案 0 :(得分:1)

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

查看here,了解非默认AppDomain的加载方式。