.NET:不相关的应用程序域之间的通道和接收器

时间:2009-12-07 20:52:56

标签: .net remoting appdomain

我的理解是,当创建新的appdomain时,框架会隐式创建通道和接收器。如果没有,则无法在一个appdomain中创建对象,并在另一个appdomain中使用代理。

(这是一种理解;如果我错了,请纠正我。)

此外,如果对象被封送以进行远程处理,则必须明确注册某个频道,以便其他人使用它。

(到目前为止?)

这是我理解失败的地方。场景:

Appdomain 1:远程处理带有编组对象的服务器,注册了频道 Appdomain 2:希望使用编组对象的客户端 Appdomain 3:对于一个插件。从appdomain 1(服务器)内创建,在appdomains 1和3之间创建上述隐式通道。

如果在appdomain 3(插件)中创建了一个对象,但是在appdomain 2(客户端)中使用了代理引用,则需要使用通道和接收器。我该怎么做?

1 个答案:

答案 0 :(得分:0)

答案是简单地在appdomain 3(插件appdomain)中注册一个频道。我认为两个appdomains之间必须有更明确的管道,但似乎只要每个appdomain都注册了一个频道,远程处理基础设施就会处理其他所有内容。