2

私はWCF ServiceMVC3(カミソリ) Web サイトを持っています。すべてのデータはWCF Service. コントローラーとビューがありますが、この構造でモデルを使用するにはどうすればよいですか?

今のところ、サービスからメソッドを呼び出し、DataControllerコントローラーでそれらを呼び出しました..

より良い解決策?

4

3 に答える 3

2

モデルから WCF サービスにアクセスしますか? 痛い...

コントローラーに固執します。コントローラーはサービスと対話しますが、モデルは対話しません。

于 2011-06-07T14:30:17.803 に答える
1

1.サービスへの Web 参照を作成しました - サービス データ コントラクトに従ってエンティティが生成されました。このエンティティがモデルです。

2. ASP.NET MVC 固有の属性で装飾する必要がある場合は、同じプロパティを持つ他のエンティティを作成し、サービスからデータを取得してエンティティに変換し、必要なメソッドのみを提供するリポジトリを作成できます。これは良い方法です。

3.さらに、何らかの変換を行い、いくつかのビジネス ルールがある場合、リポジトリ メソッドを呼び出し、ビジネス ルールをチェックおよび実行するビジネス ロジック クラスを作成できます。ただし、サービスからのデータのみを表示する場合は、ロジック ビジネス クラスを作成しないでください。

4.コントローラーからロジック/リポジトリメソッドを呼び出し、それをビューに渡します。ビューはモデルの表示のみを担当し、そこからサービスを呼び出さないでください!

于 2011-06-07T14:47:23.683 に答える
0

より良い解決策 - Service クラスと Repository クラスを作成します。たとえば、Personモデルを取得した場合、wcf サービスの呼び出しとデータの取得に関連するすべてのジョブを実行する PersonRepository クラスを作成します。PersonService クラスはビジネス ロジック コンテナーとして機能し、リポジトリからのデータが必要な場合に Repository クラスを参照します。この場合、モデル、ビジネス ロジック、および wcf サービス リポジトリ間の疎結合が大きくなります。PersonService クラスは、バリデーター、ビジネス ロジック コンテナーなどとして機能します。

于 2011-06-07T14:34:37.720 に答える