【问题标题】:MEF and Autofac in Silverlight 4 AppSilverlight 4 应用程序中的 MEF 和 Autofac
【发布时间】:2011-03-24 14:03:26
【问题描述】:

刚开始开发一个多目标 WPF 和 Silverlight 4 的复合应用程序。我们很可能会允许一些 3rd 方插件。此外,我们希望将 Silverlight 应用程序划分为多个可以独立下载/加载的 XAP。

我们曾认为使用 MEF 来控制应用程序的扩展点(即模块组合)和 Autofac 来处理模块内的依赖关系将是可行的方法。

这就是问题所在。 Autofac 似乎没有集成 SL4 MEF,因此我们不能简单地从 Silverlight 代码中的目录中注册类型。由于我们使用 XAP 对应用程序进行分区,因此我们需要使用 MEF DeploymentCatalog 在下载新 XAP 时将其拉入。我们曾考虑通过程序集简单地将类型注册到 Autofac(主要是视图和视图模型)中,但似乎没有办法通过 DeploymentCatalog 获取程序集。我们错过了什么吗?下载后有没有办法获取 DeploymentCatalog 中的程序集?我们是否以错误的方式看待这个问题?

如果这还不够,请随时询问更多详细信息。非常感谢任何帮助。

干杯,

史蒂夫

【问题讨论】:

    标签: c# silverlight-4.0 mef autofac composite


    【解决方案1】:

    如果您在这里遇到摩擦,我会说您最好的选择是采用 MEF 或 Autofac 100%。

    两者之间的集成适用于简单的插件方案,但 Silverlight 中吸引人的 MEF 功能源于 MEF 的“点亮”功能,Autofac 不支持该功能。

    希望这会有所帮助,

    尼克

    【讨论】:

    • 尼克,我们已经开始考虑这样做了。由于我们处于早期阶段,我们有一些时间进行试验。我们现在正在做一个概念验证,100% 包含每个选项以进行比较。在 Autofac 方面,我们将尝试使用 SL3 样式动态加载程序集并通过 Autofac 的 RegisterAssemblyTypes API 进行注册。
    【解决方案2】:

    在 Autofac 中注册类型怎么样?我的想法是,与Resolve Anything 方法非常相似,您可以创建一个注册源来调解对“后端”部署目录的解析请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多