如何从appdomain B访问appdomain A中的静态类?

时间:2012-10-01 20:12:44

标签: c# c#-4.0

我遇到了一个情况,我在appdomain A中使用的单例静态类需要从appdomain B访问。我已经尝试传递一个可序列化的对象,它具有将单例包装到appdomain B的属性,但是只是重新创建appdomain B中的单例。我真的不熟悉appdomains之间的通信方式。是否有一些远程库实际上确保代码在appdomain B中调用时在appdomain A中执行?有人能指出我在这方面的正确方向吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我最终从appdomain B向appdomain A发起一个事件,并在appdomain A中调用事件处理程序中的单例。远程处理的东西都是自动的。我遇到的一些问题是我使用的远程代理对象默认情况下在5分钟后过期(必须将到期时间设置为更长时间)以及appdomain A中的类,其中事件处理程序必须从MarshalByRefObject继承或否则代码实际上是在appdomain B中执行的(即使它在appdomain A类中)。