1

MVC Web サイトを作成しています。事前に予定していたのは以下のとおりです。

Data Access Layer
     ^
     |
Business Layer
     ^
     |
Web API 2    <-- Apps or whatever
     ^
     |
MVC5 Website

しかし、私の場合は Web サイトと WebAPI が同じサーバー上にあるため、Web サイトが API の JSON 応答を解析しても意味がないと思ったので、次の方法がより良い考えだと思います。

Data Access Layer
     ^
     |
Business Layer   <--   Web API    <-- Apps or whatever
     ^
     |
MVC5 Website

私は Web API をまったく使用したことがなく (これまで WebAPI や WCF を使用したことがありません)、どのようなアプローチをとればよいかよくわかりません。

だからここに私の質問が
あります 1.説明付きのより良いソリューションを表すグラフ(私が作成したものなど)が必要です2.お勧めする
Visual Studio 2013ソリューションのプロジェクト構造

VS2012 タイプの Web テンプレートではなく、VS2013 の新しい ASP.NET アプリ プロジェクト テンプレートを使用する予定であることに注意してください。このことを念頭に置いて答えてください。

より適切でわかりやすい回答を歓迎します

4

2 に答える 2

2

私にとって、これはアプリケーションの範囲によって異なります。大規模な企業システムでは、MVC インスタンスと WebAPI の両方を使用し、WebAPI は、Model-View-ViewModel パターンで MVC によって返される UI (ビュー) からの ajax 呼び出しとして送信される CRUD 操作専用に使用されます。

WebAPI は、他のイントラネット システムでも使用されていました。

したがって、次のようになりました。

MVC  OTHER INTRANET
 |     |
 / \   /
|   \ /
|  WebAPI
|    |
 \  /
  \/
Business
 Layer
   |
   |
Data Access
   |
   DB

この同じ会社は、独自の会社間ワークフロー システムとして使用される DAL に接続された別の WebAPI も持っていました。企業内の各組織単位には同じデータ (ドメイン) モデルが定義されているため、物理的に移動します (別名、groupA.db.active から SELECT/DELETE、groupB.db.active に INSERT、groupA.db.INactive に INSERT をステップ ID を更新しました。問題なく動作しましたが、最高のパフォーマンスを発揮するシステムだったとは思えません。

お役に立てれば。

于 2014-01-13T21:32:53.403 に答える
1

私見は間違いなく最初ではなく2番目を行います。MVC Web サイトで独自の Web API を呼び出す価値はありません。

于 2013-11-23T16:05:03.097 に答える