我的理解是,当创建新的appdomain时,框架会隐式创建通道和接收器。如果没有,则无法在一个appdomain中创建对象,并在另一个appdomain中使用代理。
(这是一种理解;如果我错了,请纠正我。)
此外,如果对象被封送以进行远程处理,则必须明确注册某个频道,以便其他人使用它。
(到目前为止?)
这是我理解失败的地方。场景:
Appdomain 1:远程处理带有编组对象的服务器,注册了频道 Appdomain 2:希望使用编组对象的客户端 Appdomain 3:对于一个插件。从appdomain 1(服务器)内创建,在appdomains 1和3之间创建上述隐式通道。
如果在appdomain 3(插件)中创建了一个对象,但是在appdomain 2(客户端)中使用了代理引用,则需要使用通道和接收器。我该怎么做?
答案 0 :(得分:0)
答案是简单地在appdomain 3(插件appdomain)中注册一个频道。我认为两个appdomains之间必须有更明确的管道,但似乎只要每个appdomain都注册了一个频道,远程处理基础设施就会处理其他所有内容。