2012-02-01 7 views
1

同じソリューション内の別のプロジェクトにビジネスレイヤとUIレイヤがあります。私が必要とするのは、このUIをC#でコード化されたビジネス層と接続することです。 MVC3 Razorを使用して作成されたUI。MVC3をWCF接続で使用する方法

私はMVCアプリケーションでモデルとして使用する必要がありますか?私はいくつかのプロキシを生成するビジネス層へのサービス参照を作成する必要がありますか?
次に、これらのプロキシをモデルとして使用できますか?私を助けてください..
をあなたは私にいくつかのチュートリアル 私はこれを試みたが、MVCでこれ以上のアイデアを提供することができた場合:
http://www.dotnetfunda.com/articles/article816-understanding-the-basics-of-wcf-service-.aspx

答えて

3

プロジェクト(または建築家)が求められていない限り、そのアプリのアクセスサービス・レイヤーのすべてのメソッド私は、WCFを不必要に使用することを避けようとします(それは、Webサーバーとバックエンドの間のすべてのデータが、パフォーマンスやデータのシリアライズなどの影響を持ち、潜在的にデータベース接続とトランザクション、これは遅延ロードなどを奪う可能性があります)。 同意するならば、ビジネスレイヤのすべてのアクセス可能なインターフェイスがインターフェイス上に公開されていることを確認し、コントローラに直接BLLインターフェイスを消費または注入することをお勧めします。

MVC - ASP NET MVCで単語"Model"に注意する必要があります。MVCは、より論理的なドメインモデルを表す「エンティティ」ではなく、プレゼンテーション層に固有でビューとコントローラの間で渡されるViewModelsを推奨します。ビジネスロジックで使用され、EFやNHibernateなどのORMを使用してデータの永続性に結びつけることができます。 MVCプロジェクトテンプレートは、ViewまたはControllerでないすべてのものを "Model"にまとめる。isn't necessary very helpful。しかし

、あなたはまだいくつかの設計上の決定を行う必要がありWCFサービス層を介して、あなたのBLLにアクセスすることを選択しない場合:

  1. はあなたを使用すると、クライアント側のバックエンド・エンティティを共有するかどうかを選択し、または実行代りに代理実体を使用してください。
  2. WCFサービスプロキシをコントローラで直接使用するか、または注入するかを選択するか、別のファサードレイヤを作成しますか(たとえば、CABはこれらのServiceAgentを呼び出します)。後者は、インタフェースの変更に対応するために、SOA側とクライアント側を別々のチームやベンダーが構築する場合に意味があります。
関連する問題