WCF 网站中 MEF CompositionContainer 的引导程序

Bootstrapper for MEF CompositionContainer in WCF website

我需要 运行 Bootstrapper / Init 方法来在托管我的 WCF 服务的网站中填充 MEF CompositionContainer。该网站托管在 IIS 中,仅包含 2 个 .svc 文件,这些文件指向不同项目中的服务实现。我不想让这个网站变得比它必须的更大。我要运行的Init方法如下图:

public static CompositionContainer Init()
{
    AggregateCatalog catalog = new AggregateCatalog();
    catalog.Catalogs.Add(new AssemblyCatalog(typeof(PlayerRepository).Assembly));
    CompositionContainer container = new CompositionContainer(catalog);

    return container;
}

这可以通过 Web.config 完成吗?或者是否有 class 我可以添加到可以执行此任务的网站。如果我在 Windows 服务中托管服务,我可以很容易地做到这一点,因为我可以在 On_Start().

中调用它

如有任何帮助,我们将不胜感激!

我通过添加 Global.asax 并从 Application_Start() 调用我的 Init() 方法解决了这个问题。这意味着网站中只有 1 个额外文件。