0

私は VS2010 の単一のソリューションであるプロジェクトを持っており、次のようにしたいと考えていました。

  • 解決策 1: 管理者
  • 解決策 2: フロントエンド
  • 解決策 3: モデル

これは、管理者が独自のアプリ プールに配置され、フロント エンドが別のアプリ プールに配置されるためです。次に、モデルを両方と話し、モデルの下にあるのは SQL データベースです。

私の質問は:

モデルが管理者、フロントエンド、およびデータベースと通信できるように、これを 3 つの個別のプロジェクトに設定するにはどうすればよいですか?

4

1 に答える 1

0

あなたが説明したことについては、1 つのソリューションを保持し、その下に複数のプロジェクトを配置する方がよいと思います。

Admin プロジェクトのビルド結果を 1 つの Web サイトに配置し、Front End プロジェクトのビルド結果を別の Web サイトに配置できます。

これらはそれぞれ Models プロジェクトを参照します。モデルは通常、他のプロジェクトと「対話」することはありませんが、開始アクションがいずれかのサイトへの Web ページ要求から来ているため、それらによって参照されます。これがフローを制御しているものです。

多くの場合、モデル プロジェクトを参照するバックグラウンド サービスである別のプロジェクトもあります。このプロジェクトは、受信 Web 要求 (電子メールの送信など) に関連付けられていない作業項目の時間ベースの実行を提供する NT サービスとして実行されます。

サービス層とデータ転送オブジェクト (DTO) を導入すると、さらに複雑になります。バックグラウンド サービスとすべての Web サイトがサービス レイヤーを呼び出し、DTO とのみ対話するようになりましたが、サービス レイヤーはモデル オブジェクトを使用してデータベースと通信します。サービス コントラクトが同じままであれば、Web アプリケーションから独立してデータベース スキーマを進化させることができるようになりました。

于 2013-04-29T20:05:47.320 に答える