0

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

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

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

是否有一种干净的方法可以让剃刀视图访问 MEF 部件?

4

1 回答 1

1

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

如果我了解您的具体情况,在返回具有 Google Analytics 业务的部分视图的操作中似乎更容易解决这个问题。当控制器导入的 MEF 部分说请求是“测试”请求时,该操作只会返回一个空白视图。

于 2013-03-01T00:01:24.267 回答