1

2 つの asp.net mvc プロジェクトがあります。さらに、そのうちの 1 つは ASPX ビュー エンジンと他の Razor を使用していました。最初のプロジェクトは、すべてのユーザーに共通するものであり、これらのユーザーの一部のグループにはその他のものです。どちらもユーザーごとに 1 つのセッションを共有します。

私はこれらのプロジェクトに参加し、それぞれのエリアを使用します。今、私は知りたいのですが、それは私の要件で可能ですか?

2 つの質問があります。

  1. 異なるビュー エンジンを使用する 2 つのプロジェクトを 1 つのプロジェクトに入れ、それらをエリアごとに分けることはできますか?
  2. asp.net mvc の 1 つの領域を展開し、変更せずに他の領域を残すことは可能ですか?

PS: 最初の質問の答えは違うと思います。しかし、私はまだ2番目に興味深いです(それが可能かどうか、どのように知りたいだけです)。

4

2 に答える 2

4

ここでは、同じプロジェクトで複数のビュー エンジンを使用する方法に関するブログ投稿を見つけます 。 -engines-in-same-project.aspx

これはエリアでも機能すると思います...

2番目の質問に。mefというフレームワークがあります。Managed Extensibility Framework (Mef) を使用すると、各プラグインを個別に維持できる Web ページのプラグイン構造を構築できます。ただし、そのためには少し余分な作業を行う必要があります。

正しい方向を示す次のリンクを参照してください。

http://blog.maartenballiauw.be/post/2009/04/21/ASPNET-MVC-and-the-Managed-Extensibility-Framework-%28MEF%29.aspx

http://www.fidelitydesign.net/?p=88

私はあなたの質問を正しく理解し、助けてくれることを願っています...

于 2012-09-06T12:44:13.997 に答える
1

1 - はい

はい、Spark と Razor を同時に実行するプロジェクトに取り組んでいます。

2つを混ぜ合わせることはできません

  • Razor ページ内からの部分的な Spark のレンダリングは機能しません (少なくともうまくいきません)。

2 - いいえ

サイトの残りの部分に影響を与えることなく、ビューに変更を展開できます。

ただし、Bin フォルダーまたは .config ファイルのいずれかに触れると、 AppDomain がリセットされます。また、共有コードへの変更は、明らかに両方の領域に影響します。

AppDomain をリセットすると、アウトプロセスのセッション状態プロバイダー (StateServer、SQL Server、MemCache など) を使用していない限り、すべての SessionState がクリアされます。

なぜこれをしたいのですか?

代替ソリューション:

  1. IIS で 2 つの Web サイトを作成します。それらを個別の IP アドレスまたはホスト ヘッダーにバインドできます。
  2. 2 つの別々のサイトを持つ 2 つの仮想ディレクトリを作成する
于 2012-09-08T12:57:11.873 に答える