【问题标题】:Loading MEF plugins without restarting web application在不重新启动 Web 应用程序的情况下加载 MEF 插件
【发布时间】:2021-04-28 10:25:29
【问题描述】:

我正在 .NET 中开发一个 Web 应用程序,该应用程序在通过 MEF 加载的后端 (web api) 插件中使用。在 Web API 中,我使用 Autofac DI 和 MEF 来加载插件。 我遇到的问题是如何在生产中替换插件而无需重新启动 Web 应用程序 (Azure) 或 IIS 池。 我什至计划将每个插件托管为一个 Web 服务,以便应用程序不依赖插件。

【问题讨论】:

    标签: c# mef


    【解决方案1】:

    Recomposition 就是答案。

    简而言之:

    • 使用 allow-recomposition 标记您的插件导入
    • 每次新插件出现或现有插件消失时,MEF 都会触发重新导入

    您可以在此处找到更多示例:

    https://qube7.com/guides/recomposition.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-13
      • 2019-12-15
      • 2014-07-21
      • 2019-08-04
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      相关资源
      最近更新 更多