从ASP MVC 4 View访问MEF部分

时间:2013-02-27 07:23:26

标签: asp.net-mvc mef

我们正在使用ASP MVC 4来构建Web应用程序。 我们有一个共享部分,它包含告诉应用程序其余部分的逻辑,如果当前请求是“测试”请求。我们这样做是为了让我们的端到端测试不会破坏我们正常的网站活动。

在控制器上,我们只需在ctor中获取该部分的界面,我们就可以访问它。

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

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

1 个答案:

答案 0 :(得分:1)

我不知道在视图中直接导入的方法;我通常使用Import属性,而那些不能在视图中使用。您可以在另一个类中执行组合,然后在视图中创建对该类的引用,但我不知道您可以将其称为“干净”。

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