【问题标题】:How can I access a static class in appdomain A from appdomain B?如何从 appdomain B 访问 appdomain A 中的静态类?
【发布时间】:2012-10-01 20:12:43
【问题描述】:

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

谢谢!

【问题讨论】:

  • 您能否发布您目前拥有的代码,或许可以为您提供有用的解决方案
  • 代码不友好。我稍后会尝试改进我的问题。

标签: c# c#-4.0


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-09-16
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多