【问题标题】:Sharing methods imported using MEF in WCF client service在 WCF 客户端服务中使用 MEF 导入的共享方法
【发布时间】:2013-08-26 20:17:34
【问题描述】:

我正在使用以下代码在我的 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("Something");

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

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

【问题讨论】:

    标签: c# wcf mef


    【解决方案1】:

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

    换句话说,这是加载并使您的插件工作并可供使用的内容,因此您需要在开始使用插件之前实现这一点魔法,哦,您可能希望使用@987654321 @

    using(var catalog = new DirectoryCatalog(targetPath))
    using(var container = new CompositionContainer(catalog))
    {
        container.ComposeParts(this);
    }
    

    【讨论】:

    • 谢谢杰森。我可以使用您在实现双工合约回调接口的类中提供的使用示例吗?
    • @user2719345 抱歉,我对 WCF 双工服务不是很熟悉,我只能谈谈我过去使用 MEF 的经验:)
    猜你喜欢
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多