2012-05-07 12 views
6

現在の状況:多くのコントローラとアクションメソッドを持つASP.NET MVC Webサイト、およびレシピを追加できるビュー。ASP.NET MVCアクションメソッドを使用する

これで、レシピを追加するUIとして機能するWPFアプリケーションを作成する必要がありました(Webサイトと同じ)。

私の質問は:WPFアプリケーションで消費されるサービス操作を公開するためにASP.NET MVCサイトを使用できますか(どのようにこれを行うことができますか)。または、専用のWCFサービスを作成してWPFとASP.NET MVCサイトでこれらのサービスを使用するようにしてください。

おかげで、 ルートヴィヒ

答えて

3

は、私は正常にHTMLブラウザからの眺めだけでなく、外部のアプリケーションの両方にサービスを提供するためにMVCコントローラとアクションを使用しています。

  1. 私は、クライアントが要求した形式のアクションの結果であるモデルを返すアクションフィルタを持っています(Acceptsヘッダを調べることで、アプリケーション/ jsonまたはtext/xmlのいずれかを探しています)。したがって、結果のモデルをJSONまたはXML(私はJSONを好む)としてシリアル化できます。
  2. アクションにWebRequestを作成し、結果を処理するには、クライアントアプリケーションで簡単なAPIを見つけたり作成したりする必要があります。 POSTまたはGETできる単純なAPIを作成し、結果のJSONをオブジェクトに逆シリアル化します(JSON.NETを使用)。このために使用できるRESTクライアントAPIがあります。

ただし、WCF-RESTルートを使用すると、この余分なツールを回避できます。さらに良いことに、私はASP.NET MVC 4のWebApi機能(これは私が移行する予定のものです)を調べます。

私はWCFが強力だと思っていますが、私たちの組織はすべてのノブを回してすべてのスイッチを押して正しく機能させることができないことに疲れてしまいました。もう片方。一方、MVCはちょうどうまくいきます.HTMLビューを扱うために既に使用しているので、サービスコールを処理するために少し余分なコードを追加するだけです。もちろん、個人的な好みです。

+0

ありがとう、Web APIのものは面白そうです。しかし、まだベータ版であり、実稼働環境ですでに使用するにはあまりにも危険です。外部に公開する必要があるすべてのロジックを含む特定のコントローラを作成することをお勧めしますか?そのロジックは、基礎となるコントローラロジックを使用します。 –

+0

それはベータ版から外れるでしょう。それは、RTMに行くと、利益を得るときにベータ、調整を解決するためのソリューションを開発を開始する合理的だね:) – HackedByChinese

関連する問題