我想使用 MEF 来实例化在 IIS 中托管多个 WCF 服务的应用程序中的依赖项。不同的服务依赖于共享组件,我希望 MEF 管理这些组件的实例化和注入。
我应该在哪里进行作曲?最初我想在 IInstanceProvider 中有一个 CompositionContainer,但后来我意识到该容器只能服务于一个端点,并且它管理的实例不会与其他端点共享。同样,在 ServiceHost 中拥有 CompositionContainer - 这不会在不同服务之间共享。
我在这个分析中正确吗?将 CompositionContainer 作为应用程序级别的单例的唯一解决方案是什么?
第二个问题是 - 当 WCF 实例化服务时(例如启动新用户会话时),我如何提供其依赖项?我是否让 CompositionContainer 重新组合?这不会影响其他已经在运行的服务实例吗?
有人可以分享这个概念的代码示例吗?非常感谢!