1

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

谢谢!

4

1 回答 1

1

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

于 2012-10-17T19:56:07.693 回答