我有一个ASP.NET Web项目,我需要托管一些另外的MVC3应用程序将与之交谈的SignalR集线器。
我的主要问题是,直到运行时我才知道我将托管哪些Hub,因为它们需要MEF进来。包含导出(类型为IXXXHub)的DLL将位于ASP的bin目录中.NET网站。目前有3种可输出类型 - AHub,BHub和CHub,但可能会有更多,例如DHub可能会在以后实施。
我已经阅读了SignalR示例,展示了如何在ASP.NET Web项目中进行托管,因此我很困惑的部分是尝试让我的MEF进入并托管其中一个AHub / BHub / CHub 。我已经查看了使用Application_Start的各种方法,但无法确定如何使用。
有没有人有想法?
答案 0 :(得分:0)
最后我得到了答案,只需在Global.asax类的List对象上使用[ImportMany]属性,然后在Application_Start函数中使用MEF目录/容器/ ComposeParts代码。