C#wcf服务插件模型

C#wcf服务插件模型,c#,c++,wcf,plugins,C#,C++,Wcf,Plugins,我正在计划一个项目,这将是我的公司专有服务器技术的管理系统。该系统将由三个主要组件组成:一个在我们想要控制的服务器上运行的服务,一个从服务发送命令/获取数据的中央管理服务器,以及连接到中央管理服务器的客户端应用程序。这些组件将用C#编写,并通过WCF进行通信 我面临的挑战是启用插件以支持服务器上运行的服务。我发现的大多数教程/示例都有10年的历史,没有一个涉及WCF的含义 以下是我需要的功能示例: 我公司的另一位开发人员(无法访问系统源代码)希望能够使用管理系统的客户端应用程序在其中一台服务器上

我正在计划一个项目,这将是我的公司专有服务器技术的管理系统。该系统将由三个主要组件组成:一个在我们想要控制的服务器上运行的服务,一个从服务发送命令/获取数据的中央管理服务器,以及连接到中央管理服务器的客户端应用程序。这些组件将用C#编写,并通过WCF进行通信

我面临的挑战是启用插件以支持服务器上运行的服务。我发现的大多数教程/示例都有10年的历史,没有一个涉及WCF的含义

以下是我需要的功能示例:

我公司的另一位开发人员(无法访问系统源代码)希望能够使用管理系统的客户端应用程序在其中一台服务器上获取C:\驱动器的磁盘空间。他将创建一个dll,该dll复制到服务器,并添加到服务的配置文件中。他现在应该能够获得该服务器的磁盘空间,而无需对系统进行进一步更改

一个不错的方法,虽然我不确定这是可能的,但是它将支持用C语言、C++或Delphi编写的插件。 我正在寻找一个起点,一些教程/示例,以及系统(和WCF服务契约)应该如何处理插件的一般概念

谢谢,
Nick

WCF对插件的效果没有实际的影响,您只需在托管应用程序的
app.config
web.config
文件中添加新WCF端点的配置信息,就可以了

您应该能够使用任何关于用C#编写插件的教程,而且应该可以。很好地涵盖了这一点,我唯一要做的改变是不扫描文件夹中的dll,而是在配置文件中有一个列表,明确列出了您想要加载的每个插件

此外,您可能希望在单独的
AppDomain
s中加载插件,因此如果一个插件宕机,则不一定会导致整个程序宕机

< >在C++或Delphi中加载非托管插件时,可能需要开发人员编写一个小型托管包装,它将负责调用非托管代码并在其自身清理之后。