【问题标题】:MEF: Assemblies getting removed from catalog?MEF:从目录中删除组件?
【发布时间】:2015-07-19 11:47:44
【问题描述】:

我已经使用 IDependencyExplorer 将 MEF 添加到我的 web api 项目中,并且一切正常。

但是,运行几分钟后,我开始出现未找到导出错误。 当我在调试器中检查目录时,导出已经消失,包含导出类型的程序集不再存在。

我们并没有明确地从目录中删除程序集,所以我对为什么会发生这种情况感到困惑。有人能对此有所了解吗?

【问题讨论】:

    标签: iis asp.net-web-api2 mef


    【解决方案1】:

    刚刚弄清楚发生了什么。

    我使用聚合目录并将包含我的导出的程序集添加到其中。

    网站第一次启动时,所有需要的程序集都加载到当前应用程序域中,所以一切正常。

    后来 IIS 进程正在回收/重新启动。当发生这种情况并收到新的 Web 请求时,并没有加载我需要的所有程序集,并且我设置了一个保护措施,只将加载的程序集添加到聚合目录中。

    解决方案是,如果尚未加载程序集,则强制加载它们,或者改用目录目录。

    希望这对遇到此问题的其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2011-10-08
      • 1970-01-01
      相关资源
      最近更新 更多