0

私はMVCのことを学ぶためにASPNETアプリを実現することを計画しており、次のアーキテクチャを使用することを考えています:フロントエンドでノックアウト.jsを使用し、設定のためにサーバー側でASPNET WebApiコントローラーメソッドを消費するASPNET MVC 4 Webアプリケーション/ Entity Framework を介して SqlServer データベース データを取得します。このようにして、(将来の) モバイル アプリからも ASPNET WebApi URL を呼び出すことができます。このアーキテクチャは理にかなっていますか?

4

2 に答える 2

4

同じ Web API を使用して JavaScript クライアントとモバイル クライアントを駆動しようとすることは、非常に困難な提案であることに注意してください。JavaScript クライアント用の Web API を構築する場合、クライアントとサーバーの間に多くの「帯域外」結合があるのが一般的です。これは、配信する API を見ればいつでもわかりapplication/jsonます。クライアントは、その json ドキュメントの内容がどうなるかを事前に知る必要があります。

このアプローチは、Web API と Web サイトをほぼ同時に更新できる Web サイトではうまく機能します。ただし、展開する前に承認のためにアプリ ストアに更新を送信する必要があるモバイル アプリケーションの場合、これを行うのはそれほど簡単ではありません。

この問題の一般的な症状は、開発者が新しいバージョンの API を作成しなければならない場合です。これにより、既存のモバイル クライアントが引き続き機能し、新しいモバイル クライアントが完全に新しい API に対してロールアウトされます。API を定期的にバージョン管理することは、API の唯一の消費者である限り、大きな問題ではありません。サードパーティの API コンシューマが関与すると、厄介な問題が発生し始めます。

個人的には、SPA スタイルのアプリケーションを構築することに大きな戦略的利点があると思わない限り、Web サイトを駆動するための API をわざわざ作成するつもりはありません。

現在の「ファッション」に従うだけでなく、API を使用して Web サイトを動かしたい理由を明確に理解することをお勧めします。

于 2013-04-07T20:45:27.403 に答える
1

Asp.Net MVC フレームワークの簡単な歴史

ASP.Net MVC は、Web アプリケーションを開発するために Microsoft .Net Framework の上に構築された新しいフレームワークです。このフレームワークは、コードの分離を提供し、テスト駆動開発 (TDD) のサポートを強化するのに役立つ MVC パターンを実装します。Asp.Net MVC は、高度にスケーラブルで適切に設計された Web アプリケーションを構築するための、軽量で高度にテスト可能なオープン ソース フレームワークです。ASP.NET MVC Framework のリリースされたバージョン履歴とその機能の一覧を次に示します。

Asp.Net MVC1

2009 年 3 月 13 日にリリース

.Net 3.5 および Visual Studio 2008 および Visual Studio 2008 SP1 で実行
WebForm エンジンを使用した MVC パターン アーキテクチャ
Html ヘルパー
Ajax ヘルパー
ルーティング
ユニット テスト

Asp.Net MVC2

2010 年 3 月 10 日にリリース

.Net 3.5、4.0 および Visual Studio 2008 で実行& 2010
厳密に型指定された HTML ヘルパーはラムダ式ベースを意味します Html ヘルパー
テンプレート化されたヘルパー
データ注釈のサポート 属性自動スキャフォールディングとカスタマイズ可能なテンプレートを備えた
クライアント側検証
UI ヘルパー
クライアントとサーバーの両方での属性ベースのモデル検証
GET、PUT を含む HTTP メソッド動詞のオーバーライド、投稿、および削除
大規模なアプリケーションをモジュールに分割するための領域
非同期コントローラー

Asp.Net MVC3

2011 年 1 月 13 日にリリース

.Net 4.0 および Visual Studio 2010 で実行
Razor ビュー エンジン
データ注釈のサポートの改善
リモート検証
比較属性
セッションレス コントローラー
子アクション出力のキャッシュ
依存関係リゾルバー
Entity Framework Code First
のサポート 部分ページ出力
コントローラーからビューにデータを渡すための ViewBag 動的プロパティのキャッシュ
グローバル アクション フィルター
目立たない JavaScript、jQuery 検証、および JSON バインディングによるより優れた JavaScript サポート
NuGet を使用したソフトウェアの配布とプラットフォーム全体の依存関係の管理
Razor の Visual Studio への適切な Intellisense サポート

Asp.Net MVC4

2012 年 8 月 15 日にリリース

.Net 4.0、4.5 および Visual Studio 2010SP1 および Visual Studio 2012 で実行
ASP.NET Web API
既定のプロジェクト テンプレートの機能強化
jQuery を使用したモバイル プロジェクト テンプレート モバイル
表示モード
非同期コントローラーのタスク サポート
バンドル
Windows Azure SDK

Asp.Net MVC5のサポート

2013 年 10 月 17 日にリリース

.Net 4.5、4.5.1 および Visual Studio 2013 で実行
Asp.Net
Asp.Net Identity
ASP.NET スキャフォールディング
認証フィルター - 承認前に実行ASP.NET MVC パイプラインのフィルター
MVC テンプレート
ASP.NET Web API2のブートストラップ

クレジット: シャイレンドラ・チャウハン氏

于 2014-03-23T05:01:58.250 に答える