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 个额外文件。
我需要 运行 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 个额外文件。