2009-08-14 1 views
2

私は同じデータにヒットすることができるエンドポイントやクライアントがいくつかあるプロジェクトがあります。たとえば、サイトが...複数のコンシューマー、単一のデータプロバイダー - RIAにはまだ早い?オプション?

  • A asp.net MVCベースのエンドユーザーに向けウェブサイト
  • situatiosnに一部のユーザーからの特定の、限定された更新を許可することができ、Webベースのadminitrationバックエンドどこフルクライアントを持っているかもしれません
  • コンテンツ管理のユーザーエクスペリエンスを実際に向上させるために、タッチやその他の手法を使用することができるように、豊富なクライアント管理機能が備わっています。これらは、必要に応じて、

質問は... whats the bestすべてを結ぶ方法?今はMVC用に複数のプロジェクト分割を使用しています。

  • ProjectName.Core - コアは必要なリポジトリやモデルに引っ張って参照するMVCプロジェクト - このプロジェクトは、すべてのリポジトリクラスとすべてのヘルパークラス
  • ProjectName.Web、すべての一般的なモデルを持っています
  • ProjectName.Admin.Web - (最終的にエンドユーザーに向けサイトからの別々のサブドメインに住んでます)、それは 必要リポジトリやモデルにプルするコア
を参照する管理インタフェースに専用の別のMVCプロジェクト

その後、物語は明確な指導のint intを吐く。時間は、私は今、私の理解を最大限に次のいずれかを行うことができ、データをヒットするWPF/Silverlightのプロジェクトをビルドするために来るとき...

  • は、「コア」のDomainService RIAのスタイルを提供するために、変換しますそれを利用するためにMVCプロジェクトを変更しようとします。しかし、RIAでのMVCの使用に関するガイダンスはほとんどありません.RIAは初期段階にあり、WPFからRIAまでの話はまだ薄くしか書かれていません。
  • WCFを使用しています。しかし、WCFは、RIAが私のために非表示にする非同期の複雑さを前提としています。
  • 20ヤード後ろに落ちて、私が既に持っているリポジトリとモデルの上にコアにプレーンな古いWebサービスを追加します。これは古い学校だと思われます:)

例とドキュメントの参照先を含め、何でも歓迎します。私は今できる最善の意思決定をしたいと思いますし、RIAとWCFのスピードを上げるために来ていますので、コミュニティ入力は常に役に立ちます。

ありがとうございます!

答えて

1

RIA Servicesがここで勝利を収めているように思えるのは確かです。単一のDomainServiceを構築し、それをどこからでも消費します。 Brad Abramsは、bit.ly/94fFxで多くのことをカバーしています。本当に助けになりました。

1

普通の古いWCFサービスについて言えば、ドメインサービスとリポジトリを利用して、サービスに適したモデルを公開することができます。あまりにもしばしば私は、ワイヤ上のドメインモデルを公開するだけで、クライアントとサーバーの両方にロジックの複製が作成されることに気付きました。

私のアドバイスは、サービスレイヤのいくつかの種類になります。これは、ドメインモデルをワイヤの適切なタイプに整形するロジックを持っています。 \

クライアント(WPF/Silverlight)とサーバー(ASP.NET MVC)の間でドメインサービスを共有でき、異なる下位リポジトリ(NHibernate/AstoriaへのLinq)を持つことが理想的です。 Silverlightの非同期性に難しい。

関連する問題