我花了几个小时阅读 AppDomains,但我不确定它们是否像我希望的那样工作。如果我有两个类,AppDomain #1 中的通用 Foo,AppDomain #2 中的 Bar:App Domain #1 是应用程序。 App Domain #2 类似于插件,可以动态加载和卸载。AppDomain #2 想要创建 Foo 并使用它。 Foo 在内部使用 AppDomain #1 中的许多类。我不希望 AppDomain #2 使用对象 foo 和反射,我希望它使用 Foo foo,以及所有静态类型和编译速度。考虑到包含 Foo 的 AppDomain #1 从未卸载,是否可以这样做?如果是这样,使用 Foo 时是否会在此处进行任何远程处理?当我卸载 AppDomain #2 时,Foo 类型被破坏了? 编辑 SO 删除了我所有的 ,手动将它们添加回来。 最佳答案 您在问题中混合了类型和对象,这使得很难回答。 AD 中的代码使用其他 AD 中也使用的类型没有问题,它只是加载程序集。但是一个 AD 有自己的垃圾收集堆,你不能直接引用另一个 AD 中的对象。它们需要跨 AD 边界进行序列化。是的,通过 IpcChannel 进行远程处理会这样做。关于c# - .NET AppDomains 能做到这一点吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2944981/
10-13 06:10