2

モデルが WCF サービスになる方法がわかりません。Astoria の部分クラスがクライアント上にあり、リモート呼び出しで永続化呼び出しを実行できる場合は理にかなっていますが、WCF サービスには、データ ストアの更新に使用できるモデル フィールドのプロパティがありません。

モデル/ドメイン オブジェクト クラスのインターフェイスを別のアセンブリに分解できたとしても、Silverlight プロジェクトではそれを参照として追加することはできません。

ViewModel に WCF 呼び出しをどのように含める必要がありますか? 最終的に、WCF は Linq-to-Sql で実装されたリポジトリ アセンブリを呼び出しますが、明らかにこれらのエンティティは、このシナリオでは私のモデルではありません。私の WCF クラスはどうですか?

これに関するガイダンスをありがとう。

また、参照フレームを提供するために読んだ投稿:

  1. http://development-guides.silverbaylabs.org/Video/Silverlight-Prism#videolocation_0
  2. http://blogs.conchango.com/davidwynne/archive/2008/12/15/silverlight-and-the-view-viewmodel-pattern.aspx
  3. http://msdn.microsoft.com/en-us/magazine/dd458800.aspx
4

1 に答える 1

5

Silverlight プロジェクトで WCF サービスへのサービス参照を作成すると、そのサービスのインターフェイスも生成されます。これは、上記の記事の David Wynns IFeedService に似ています。サービス参照は、サービスによって使用されるオブジェクト (製品、カテゴリなど) を表すプロキシ オブジェクトも生成します。

注意すべき重要なことは、サービス インターフェイスはモデルではなく、モデルにアクセスする方法であるということです。David の例に戻ると、彼の ViewModel はアイテムのリスト (彼のモデル) を公開し、このリストはサービスを使用して取得されます。

クライアントとサーバー間でコードを共有したい場合は、RIA Services などを検討することをお勧めします。これがあなたに向いていない場合は、サーバーとクライアントの間でコードを共有することに関するいくつかの記事を参照してください ([リンクとして追加] を使用)。

お役に立てれば

于 2009-08-07T03:50:15.877 に答える