3

質問のタイトルは明確ではないかもしれませんが、私がやりたいことは次のようなものです:

これが私のアプリをレイヤー化する方法です

アプリ.ドメイン アプリ.サービス アプリ.Web

私が欲しいのは、私が何かを要求/api/OrderProcessor/GetAllOrderすると、メソッドを呼び出すことGetAllOrderですApp.Services.OrderProcessorService

メソッドは を返し、IList<Order>特定の形式 (実際には ExtJS を使用しています) に従って JSON にシリアル化したいと思います。おそらく次のようになります。

{ 
  success: true,
  totalCount: 10,
  list: [ { ... }, { ... } ]
}

サービスをコントローラーとして作成することはできますが、サービス層がプレゼンテーション要素で汚染されることは望ましくありません。

このようなラッパーコントローラーを作成するにはどうすればよいですか?

Service クラス自体に属性をアタッチしたくありません。IoC を使用して構成できればおそらくいいでしょう。後で、出力を XML にするか、代わりに DTO クラスを使用できるようにする必要があります。元のドメイン クラス。

何か案が?

4

2 に答える 2

2

RESTful サービスを作ろうとしているようですね。

RESTful サービスを使用すると、/api/OrderProcessor/GetAllOrdersURI は JSON オブジェクトを返します。

その場合は、ASP.NET MVC の代わりに WCF を使用します。

WCF、REST、および JSON の使用を開始するには、CodeplexのWCF REST スターター キット プレビュー 2を確認してください。Ben Dewey が見つけたこのブログ投稿に、WCF サービスから JSON を返す簡単な例があります。

幸運を!

于 2009-06-25T17:32:23.137 に答える