我在工作中使用了MEF进行了一些项目,我只是在业余时间盯着单轨列车搞砸了。我想知道是否有任何方法可以使用MEF来加载Monorail使用的控制器。 Monorail似乎在Web.Config中列出的程序集中寻找控制器:
<controllers>
<assembly>my.assembly</assembly>
</controllers>
'my.assembly'是否可以使用MEF加载更多控制器?我不得不承认我没有理由我需要这个功能,但我只是想尝试一下!
答案 0 :(得分:2)
Monorail是一个非常易扩展的框架。几乎所有东西都是由一个可以用其他东西轻松切换的服务提供的。 例如,IoC集成非常简单,因为您可以切换创建控制器,过滤器,帮助程序和所有其他MonoRail实体的服务。
具体示例:Integrating Windsor container into Monorail
现在这几乎是由温莎提供的单轨列车中的所有东西。如果你只想让MEF提供控制器,那么工作就更少了。
我对MEF的工作知识很少,所以它可能有点偏差,但你会得到一般的想法:
IControllerTree
服务。看看MonoRailFacility.cs
的灵感。MefControllerFactory : IControllerFactory
,它将在需要时使用MEF实例化控制器。灵感来自WindsorControllerFactory.cs
答案 1 :(得分:1)
这不是你可以使用的东西,但是看看Hammett的博客文章here,在那里他谈到他正在为MonoRail 3.0做什么原型(默认情况下支持MEF)。