在WCF客户端服务中使用MEF导入的共享方法

时间:2013-08-26 20:17:34

标签: c# wcf mef

我使用以下代码在我的WCF客户端服务主类中成功加载插件:

    [Import]
    public IBasePluginService PluginService { get; set; }


    public void PluginCompose(string targetPath)
    {
        var catalog = new DirectoryCatalog(targetPath);
        var container = new CompositionContainer(catalog);
        container.ComposeParts(this);
    }

使用以下方法调用方法:

PluginCompose(loadPluginTarget); PluginService.HelloWorld( “东西”);

如何在实现双工合约回调接口的类中使插件dll方法可用?

在我的插件dll中调用方法之前,是否每次都需要调用PluginCompose()?

1 个答案:

答案 0 :(得分:0)

您需要编写(注入依赖项)组件,而不是您的插件无法使用。您可以将它放在构造函数中,或者在第一次调用时为您初始化组件的其他方法。

换句话说,这就是加载并使你的插件工作并可供使用的东西,因此你需要在开始使用你的插件之前让这一点点魔力发生,哦,你可能希望使用{{ 1}}

using