0

当社は、クライアントに音楽サービスを貸与しています。この製品は、自動化されたmp3プレーヤーと、マシンにダウンロードされたコスチューム音楽ライブラリ(mp3曲)の毎日の更新/更新で構成されています。これまでのところ、GBridgeを使用してサーバーとクライアントのフォルダーを同期することにより、mp3の更新に醜いソリューションを使用しています。これは明らかに不利です。クライアントに音楽ライブラリ全体(現在は25.000曲)をダウンロードするように強制しますが、ほとんどのクライアントはすべての音楽カテゴリ(ポップ、ロックなど)の曲を再生することはありません。最も重要なのは、サブスクリプションパケット(音楽ライブラリ全体)を1つしか提供できないのに対し、競合他社はカテゴリごとに低価格でパケットを提供していることです。これらの理由から、WCFに目を向けることにしました。

このサービスは、PerCallインスタンス化モードを使用し、従来の要求/応答パターンを使用してwinformクライアントアプリケーションから呼び出される2つの操作を実装します。

最初の操作では、クライアントがダウンロードを許可されているカテゴリをデータベースから取得し(要求)、これらのカテゴリのリストをクライアントに送り返します(応答)。

2番目の操作はダウンロードに使用されます。クライアントは最初にサーバーのデータベースのxmlバージョンをダウンロードします。同様のxmlがクライアント側にあります。クライアントアプリは、最初の操作から返された各カテゴリのどの曲が、サーバーのxmlファイルと比較して独自のxmlに欠落しているかを確認します。欠落しているファイル(xmlの要素)がある場合は、一度に1つのファイルをダウンロードします。ダウンロードするたびに、クライアントは自分のxmlを更新し、すべてのファイル(要素)が2つのxmlで一致するまで、同じ比較を再度実行します。

簡単に言うと、サービスのインスタンス化モードはスループットの理由とメモリ消費量を低く抑えるためにPerCallであり、両方の操作で要求と応答のパターンが使用されていることを考えると、応答ごとに確認メッセージがクライアントに返送されます。サービスであるため、接続で問題が発生した場合、またはクライアントがサービスに到達できない場合は、クライアントでCommunicationObjectFaultedExceptionをキャッチし、プロキシを再構築して再試行します。サービスの実装で信頼できるセッションが必要だと思いますか?今説明した操作で信頼できるセッションがない場合、どのような問題が発生する可能性がありますか?

4

1 に答える 1

0

今説明した操作で信頼できるセッションがない場合、どのような問題が発生する可能性がありますか?

サーバーに大きなストレスをかける一方で、信頼できるセッションによって解決される問題はごくわずかであることに気づいています。

私は、信頼できるセッションなしで、(相互運用性を高めるために)BasicHttpBindingを個人的に利用します。


アップデート

信頼できるセッションを理解するために、これこれを読んでください。

銀行の場合、他の銀行との間で送金する場合は、信頼できるセッションを使用するのが理にかなっています。これにより、関係する最終関係者がメッセージを確実に受信できるようになります。しかし、ほとんどの場合、あなたはそれを必要としないでしょう。

于 2012-03-27T11:12:16.533 に答える