2013-02-27 62 views
0

我们使用ASP MVC 4构建Web应用程序。 如果当前请求是“测试”请求,我们有一个共享部分,用于存放告诉应用程序其余部分的逻辑。我们这样做是为了使我们的端到端测试不会破坏我们的正常站点活动。从ASP MVC 4访问MEF部分查看

在控制器上,我们只需获取ctor中该部件的接口,并且可以访问它。

问题是如何让视图也可以访问它。 有一次,我们有一个局部视图,我们把我们的_Layout.cshtml文件添加到谷歌分析代码中,如果我们正在测试我们不想发出该代码。

是否有一种干净的方式允许剃须刀视图访问MEF零件?

回答

1

我不知道在视图中直接进行导入的方法;我通常使用导入属性,而这些属性不能在视图中使用。您可以在另一个课程中完成作文,然后在视图中为该课程创建一个参考,但我不知道您可以称之为“干净”。

如果我了解您的具体情况,似乎可以更轻松地在返回具有Google Analytics业务的部分视图的操作中解决此问题。当控制器导入的MEF部件表示请求是“测试”请求时,该操作将返回一个空白视图。

+0

谢谢。我不把它放在行动中的原因是因为它应该发生在所有控制器的所有操作中。作为DRY原则,我不想在每一个行动中重复它。谢谢 – 2013-03-01 05:56:24

+1

在这种情况下,也许一个知道你的MEF部分的自定义视图引擎会运行良好。 – Matt 2013-03-04 15:42:22

+0

谢谢。有趣的想法 – 2013-03-05 19:47:59