.net 处理跨AppDomain调用时远程处理的替代方法

.net 处理跨AppDomain调用时远程处理的替代方法,.net,reflection,remoting,appdomain,.net,Reflection,Remoting,Appdomain,我有一个.NET类库,我需要将它加载到一个单独的域并从中执行一些代码。现在我正在使用AppDomain.CreateInstanceFrom创建远程处理对象,并使用一些接口将其展开。但我还有什么选择呢?远程处理是一种过时的技术。远程处理适用于跨AppDomain,但另一种方法是假装它们是同一台机器或不同机器上的不同进程 例如,您可以在两者之间使用一个基本套接字服务器,或者类似于在命名管道(或类似管道)上操作的WCF或服务堆栈。或平面文件位于已知位置并进行轮询。或将数据库表作为队列。或者一个专用的

我有一个.NET类库,我需要将它加载到一个单独的域并从中执行一些代码。现在我正在使用AppDomain.CreateInstanceFrom创建远程处理对象,并使用一些接口将其展开。但我还有什么选择呢?远程处理是一种过时的技术。

远程处理适用于跨AppDomain,但另一种方法是假装它们是同一台机器或不同机器上的不同进程

例如,您可以在两者之间使用一个基本套接字服务器,或者类似于在命名管道(或类似管道)上操作的WCF或服务堆栈。或平面文件位于已知位置并进行轮询。或将数据库表作为队列。或者一个专用的消息传递堆栈—从MSMQ到redis pub/sub.的任何东西,或者http服务器(
HttpListener
maybe)和客户端(
WebClient
maybe)。发狂吧


不过,就我个人而言,如果远程处理有效的话,我会坚持使用它。注意,我只在应用程序域之间说这个,就像你在文章中所说的那样-我个人不会在进程/机器之间使用远程处理。

不,我们不需要创建另一个进程。如果我们以WCF为例,那么我们需要配置WCF主机,为此我们需要在另一个AppDomain中调用一些东西。所以我们又回到远程处理上来了。@BogdanVerbenets不一定;例如,它可以有一个预先确定的端点,也可以在配置文件中提供。但坦率地说,我不清楚您试图解决什么“问题”——对于AppDomain间的调用,远程处理并不难看。