我正在通过做一些基于小型远程处理的项目来学习远程处理,并且还试图强制执行良好实践,同时避免我习惯于养成恶习。
有一项服务可以使用用户创建的插件。每个插件都在自己的appdomain中隔离。此外,还有一个客户端应用程序连接到服务并与之交互。
有服务客户端通信和服务插件通信的渠道,但没有什么方便插件 - 客户端通信。因此,插件创建的任何对象必须先包装在服务定义的对象中,然后才能进入客户端(否则由于缺少通道接收器而存在异常)。
如果这是有道理的,我的问题是:我应该继续这种模式,还是应该在插件和客户端应用程序域之间创建通道,以允许插件实例化的对象转到客户端应用程序?
感谢有关该主题的任何教育!
答案 0 :(得分:3)
如果没有更多地了解你的申请,我无法给你明确的答案,所以虽然这个问题可以说是主观的,但这是我的主观回答:
服务器聚合连接到插件似乎是合理的,而客户端只维护到服务器的单个通道。这可以通过多种方式简化和整合解决方案:
另一方面,将服务器对象中的每个插件对象包装起来可能会很麻烦。