2011-08-25 6 views
9

私はasp.net mvc appを2,3年前に書いていますが、私がそれを追加するほど、コントローラからREST/AJAXを呼び出してデータを取得する傾向があります。Asp.net mvcまたはWebサービスを使用する方が良いでしょうか?

私はこの方法で作業を続けますか、別のRESTサービス(WCFのやり方)としてデータを公開すべきですか?

mvcアプリケーションの設計とWebサービスのデザインがぼやけていると感じました。 Mvc app(分離は別として)は最初にWebページを作成しましたが、現在はサービスベースのデータを提供するために使用されています。

JD

答えて

4

私は2つの可能なシナリオ

単一のWebアプリケーションを参照してください。この場合、コントローラにメソッドを追加します。これは、コントローラの機能に関連して1か所に保持され、時間を節約するので、良いことです。コントローラーが別のWebアプリケーションから呼び出されている場合は適切ではありません。シンプルで醜いですが、作業には開発に時間がかかりませんし、メンテナンスに多くの時間がかかります。

ウェブアプリ+ウェブサービス。データ取得メソッドをサービスインタフェースに分離することができます。肯定的な側面は、システムがはるかにモジュール化され独立しており、メンテナンスに適しているということです。間もなく追加されるメソッドがあるか、または他のWebアプリケーションでメソッドが使用されていると予測される場合は、現在のWebアプリケーションを拡張するよりも、おそらくこのパスが優れています。否定的な点は、新しいサービスが現在のWebアプリケーションへのリファクタリングを必要とし、開発/テストなどに時間がかかることです。この決定は複雑さを増しますが、アプリケーションを拡張しやすくします。

2

あなたは厳密に特に明確な(自家製のエンコーディングを使用して対SOAP)、業界全体のツールのサポートをされているデータ・フォーマットの観点から、データを送信している場合、私は、WCFは、MVCに比べていくつかの利点を持っていると思う、優れましたさまざまなタイプのバインディング(つまり、HTTPだけでなく)、さまざまなトランスポートレベルのサービス、素敵なロギングとトレース機能などをサポートします。

最後に、WCFあなたのケースのそれはあなた自身を理解しなければならないものです。

関連する問題