6

ASP.NETMVC3をテストしています。

また、ajax呼び出しには、MVCコントローラーメソッドまたはWCFサービスを使用できます。しかし、MVCで使用できるのに、なぜWCFを使用するのでしょうか。

私の質問は次のとおりです。MVCでWCFサービスを使用する必要がありますか?なぜ ?そして、その場合は?

ありがとう、

4

2 に答える 2

7

WCFは、Webサービスの開発に使用されるフレームワークです。Webサービスの考え方は、生データを提供するために使用される機能を、データを処理してエンドユーザーに提供するために使用される機能から切り離すことです。これにはいくつかの利点があります。

  • APIを提供している場合、データがどのように使用されるかはわかりません。生データを一連のアプリケーションに提供し、それらのアプリケーションに残りを処理させるだけです。Webサービスはまさにそれを行います...アプリケーションのデータレイヤーを開き、残りは閉じたままにします。
  • 緩い結合を適用することにより、データ層の保守性を向上させることができます。結合が緩いということは、アプリケーションのコンポーネントが互いに絡み合っていないことを意味します。これは、アプリケーションの残りの部分を中断することなく、アプリケーションの一部に簡単に変更を加えることができるため、良いことです。たとえば、特定の関数呼び出しが設定されたJSONオブジェクトを返すことが理解されている場合、消費するアプリケーションのコードに干渉することなく、そのオブジェクトのデータを提供するデータベースのテーブル構造に変更を加えることができます。これは、常に同じタイプのデータを同じ形式で提供することにより、事前定義されたデータ契約を維持している限り機能します。一方、データベースクエリ、接続文字列などがすべてアプリケーションにハードコードされている場合、データベースロジックの変更が非常に困難になります。

あなたの場合、中小規模のWebアプリケーションを開発しているだけで、APIまたは同様のサービスを起動する予定がない場合は、おそらくWCFは必要ありません。

ただし、アプリケーション用にWCFサービスを作成する必要はおそらくないかもしれませんが、サービスの場合と同じように、アプリケーション層を緩く結合するようにしてください。これを行うには、データアクセスコードまたはオブジェクト(エンティティ)定義コードを別々のプロジェクトに分割します。緩い結合は、WCFで実装されているか、MVCだけで実装されているかにかかわらず、プロジェクトの保守をより簡単に、より簡単に、より手頃な価格で行うことができます。

于 2012-12-14T13:20:34.057 に答える
3

MVCは問題ありません。これには、WCFは必要ありません。MVCはある種のRESTAPIを作成するため(すべてのアクションメソッドは、メソッドの呼び出しに使用できる独自のURLを取得します)、それを使用できます。

于 2012-12-14T13:18:44.947 に答える