繁体   English   中英

我可以使用MEF在Monorail中加载控制器吗?

[英]Can I load controllers in Monorail using MEF?

我在一些工作中使用了MEF,而在业余时间我只是盯着Monorail。 我想知道是否可以使用MEF加载Monorail使用的控制器。 Monorail似乎在您在Web.Config中列出的程序集中寻找控制器:

<controllers>
  <assembly>my.assembly</assembly>
</controllers>

有没有一种方法可以使“ my.assembly”随后使用MEF加载更多的控制器? 我不得不承认我并不是出于某种原因需要该功能,但我只是在尝试一些东西!

Monorail是一个非常可扩展的框架。 几乎所有内容都由可以通过其他方式轻松切换的服务提供。 例如,IoC集成非常容易,因为您可以切换创建控制器,过滤器,助手和所有其他MonoRail实体的服务。

具体示例: 将Windsor容器集成到Monorail中

现在,这几乎设置了温莎提供的单轨火车的所有内容。 如果您只希望由MEF提供控制器,那么工作量就更少了。

我对MEF的工作知识很少,因此可能会有一些不足,但是您会得到一个大概的想法:

  1. 使用MEF发现机制查找控制器类型,然后将控制器类型添加到默认的IControllerTree服务。 MonoRailFacility.cs以获得灵感。
  2. 实现一个MefControllerFactory : IControllerFactory ,将在需要时使用MEF实例化控制器。 灵感来自WindsorControllerFactory.cs

您还不能使用它,但可以在Hammett的博客中查看该文章,他其中谈论他正在为MonoRail 3.0进行原型制作(默认情况下包括对MEF的支持)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM