具有可插入端点的Web托管WCF REST服务(这可能)吗?

时间:2013-11-26 15:40:59

标签: wcf rest dynamic plugins endpoint

我对WCF有点新意,所以请耐心等待。我有一个使用.NET 3.5编写的非常简单的REST服务,它通过一个SVC文件通过asp.net Web应用程序公开。一切都按预期工作。

我想知道的是,如果我可以在WCF中创建插件结构,那么我可以让第三方开发人员通过我的服务公开他们的功能。我希望可以通过代码动态创建我的端点,目前一切都在我的web.config和service.svc文件中(就公开合同而言)。

最后,我希望有一个自动检查新程序集的活动运行服务(如果添加到plugins目录中),并自动添加新的端点,这些端点可能具有完全不同的功能。一个可以是文件传输插件,另一个可以是计算器等。

但首先我需要知道它是否可行......目前我正在研究MEF以查看是否可能有所帮助,因为我习惯于手动加载DLL(在桌面应用程序中)。

1 个答案:

答案 0 :(得分:0)

可以通过WCF使用MEF,我过去曾参与过类似的项目。您可以通过MEF公开插件DLL中的函数,假设MEF接口的实现者正在实现一个函数,该函数使用它自己的端点启动新的WCF服务,然后从主服务调用该函数。

请参阅下面的一些示例项目,虽然它们都没有按照您的要求进行操作,但是MEF插件可能有一个服务主机可以使用自己的端点开始自己的服务。

Creating WCF Service Extensibility through MEF

A sample demonstrating how WCF and MEF play together