0

我有一个 ASP.NET Web 项目,我需要在其中托管多个 SignalR 集线器,另一个 MVC3 应用程序将与之通信。

我的主要问题是直到运行时我才知道我将托管哪些集线器,因为它们需要被 MEF 插入。包含导出(IXXXHub 类型)的 DLL 将位于 ASP.NET Web 的 bin 目录中地点。目前有 3 种可导出类型 - AHub、BHub 和 CHub,但可能还有更多,例如 DHub 可能会在以后实施。

我已经浏览了 SignalR 示例,展示了如何在 ASP.NET Web 项目中托管,所以我感到困惑的部分是试图让我的 MEF 进入并托管 AHub/BHub/CHub 中的每一个。我已经查看了使用 Application_Start 的各种方法,但无法弄清楚如何。

有人有想法吗?

4

1 回答 1

0

我最终得到了答案,方法是在 Global.asax 类中的 List 对象上使用 [ImportMany] 属性,然后在 Application_Start 函数中使用 MEF 目录/容器/ComposeParts 代码。

于 2012-11-19T16:42:32.613 回答