在 .Net Activator.GetObject(Type type, string url, object data) 中返回对象的代理。我猜这个代理继承自 MarshalByRefObject 并且可以跨 AppDomains 发送。我对吗?
在我的应用程序中,我在 appdomain A 中创建一个对象并使用它 appdomain B。该对象的成员是使用 Activator.GetObject () 创建的代理对象。因此,当我在 AppDomain B 中时,我对在 appdomain A 中创建的对象有一个透明代理。当我尝试对代理对象执行调用该方法时,我遇到了错误。
例如,我在 App Domain B 中创建了一个 Connection 对象。我在 App Domain A 中有 Connection 对象的透明代理。当我尝试从 AppDomain A 进行这样的调用时遇到错误。 ConnectionObject.SecurityProxy.GetSecurityAccount ( )。看起来问题是当我尝试像上面那样拨打电话时,它试图在 AppDomain A 中再次创建 SecurityProxy,而不是将呼叫转发到 AppDomain B。连接时已经在 AppDomain B 中创建了安全代理对象被创建。
你能帮我弄清楚我做错了什么吗?
问候,阿尼尔。