2

それで、私は数か月間WCF Riaサービスを使用していますが、なぜWCFRIAサービスを使用するよりもWCFbasicHttpWebサービスを使用するのでしょうか。

RIAサービスはエンタープライズレベルのアプリケーションには適していないという人がいますが、なぜだろうと思います。

RIAがない場合、クライアントとサーバーの2つの領域で検証ロジックを作成する必要があるようです。また、RIAは役割とメンバーシップをかなり簡単に処理します。

WCF basicHttp Webサービスを使用する場合、どのくらいの追加作業が必要ですか?RIAを使用するメリットは何ですか?および..wcfbasicHttpWebサービスを使用したエンタープライズレベルのSilverlightアプリケーションの良い例はありますか?

ありがとう!

4

2 に答える 2

1

SilverlightでのWCFサポートの問題は、Silverlightプラグインに組み込まれている.NET Frameworkの限定されたサブセットに関連しています。これは、本質的に.NETFrameworkの縮小バージョンであるためです。Silverlightプラグインの縮小された.NETランタイムの結果として、標準の.NETプロジェクトから取得するのと同じWCFの完全なサポートはありません。これは、クライアントの観点からSLの初期ダウンロードを迅速化し、製品としてのSLの市場投入までの時間を短縮するために行われました。SLプラグインは、インストールされている既存の.NET Frameworkに依存しないことに注意してください。そのため、Linux、Windows Phone 7、およびOSXバージョンが市場に出回っています。

時間の経過とともに、需要の高い機能を追加し続けます。たとえば、Silverlight 5はWS-Trustをサポートします(5の新機能の完全なリストについては、こちらを参照してください)。

このリソースを読んで、クライアントからWCFサービスを呼び出そうとして見逃す可能性のあるものを確認することをお勧めします。

http://msdn.microsoft.com/en-us/library/cc896571(v=vs.95).aspx

サーバー側から直接サービスを呼び出すRIAサービスエンドポイントを介して、より複雑なWCFサービスへの呼び出しを非常に簡単にプロキシできることに注意してください。

RIAの代わりに標準のWCFを使用する場合...中間層に複数のクライアントタイプがある場合は利点がありますが、RIAを使用すると、エンドポイントをSOAP 1.1エンドポイントとして公開し、WCFの代わりにそのパラダイムを使用して接続する必要があります。RIAを使用する必要はありません。必要に応じて、要件に合わせて組み合わせることができます。個人的には、可能な限りRIAを使用することに専念しています。

于 2011-03-29T01:17:50.500 に答える
1

RIAサービスの苦痛はますます大きくなっていると言っても過言ではありません。私の最大のバグベアのいくつか(Invokeメソッドからエンティティではない複雑なオブジェクトを返す機能がない、MVVMの方法で使用するための適切なサポートがないなど)は、ほとんどRIAServicesSP1で修正されています。私が知っている大規模なエンタープライズアプリケーションでそれを使用している人の中には、(少なくとも初期の頃は)大きな頭痛の種を抱えていた人もいます。特定の問題がまだ解決されているかどうかについては、その点で現在どこにあるのかよくわかりません。

とはいえ、個人的には素晴らしい技術だと思います。これにより、標準のWCFサービスで苦痛を伴うタスクが簡単になります(私のお気に入りは、サーバー上で実行されるIQueryableを返すドメインサービスのメソッドでクライアント上のクエリを指定できることです-並べ替え/フィルタリング/グループ化/ページングを簡単にします) 。それがあなたに適しているかどうかは、シナリオによって異なります。これは主にエンティティでのCRUD操作の実行を容易にするように設計されているため、それが主に必要なものである場合は完璧です。ただし、 RIAサービス、Silverlightアプリケーションでのみ使用されるように設計されています(少なくとも当面は)。他のクライアントからそれらにアクセスすることはできますが、それらを非常に優れたものにするすべての機能を利用できるわけではありません。したがって、他のクライアントプラットフォームをサポートする必要がある場合は、適切ではない可能性があります。

RIAサービスは素晴らしいと思いますが、最終的には、プロジェクトに適しているかどうかはシナリオによって異なります。テクノロジーとして、それは特定のシナリオを対象としており、世界中のすべてのソフトウェア開発の問題を解決することを目的としたものではありません。それについて不平を言うかもしれない何人かの人々はおそらくそれが意図された方法でそれを使用しておらず、その限界を押し広げています(それはそれも完璧ではなく、問題を抱えています)。さらに詳細(アプリケーションの規模、サポートする必要のあるクライアントプラットフォーム、プロジェクトの開発者数など)を提供できれば、さらに役立つアドバイスを提供できると思います。

お役に立てれば...

クリス

于 2011-03-29T06:17:49.380 に答える