0

ASP MVC 4 を使用して Web アプリケーションを構築しています。現在のリクエストが「テスト」リクエストであるかどうかをアプリケーションの残りの部分に伝えるロジックを保持する共有部分があります。これは、エンド ツー エンドのテストが通常のサイト アクティビティを妨げないようにするためです。

コントローラーでは、ctor でその部分のインターフェイスを取得するだけで、アクセスできます。

問題は、ビューがそれにアクセスできるようにする方法です。一度、Google アナリティクス コードを追加する _Layout.cshtml ファイルに配置した部分的なビューがあります。テスト中の場合は、そのコードを出力したくありません。

カミソリ ビューが MEF パーツにアクセスできるようにするクリーンな方法はありますか?

4

1 に答える 1

1

ビュー内で直接インポートを行う方法がわかりません。私は通常、インポート属性を使用しますが、それらはビューでは使用できません。別のクラスで構成を行い、ビュー内でそのクラスへの参照を作成できますが、それを「クリーン」と呼ぶことができるかどうかはわかりません。

あなたの特定のケースを理解していれば、Google アナリティクス ビジネスを含む部分ビューを返すアクションでこれに対処する方が簡単だと思われます。コントローラーによってインポートされた MEF パーツが要求が「テスト」要求であると言うと、アクションは空白のビューを返します。

于 2013-03-01T00:01:24.267 に答える