0

C# を使用して Web サービス経由で 800*600 の画像を転送する最良の方法は何ですか?

高速な方法を探しています。

ありがとう

4

4 に答える 4

1

WCF 4.0 を使用している場合は、ソケット プログラミングを使用でき、そこからバイナリ (もちろん 7zip で圧縮) として送信できます。

画像がすでに圧縮形式 (たとえば jpeg) である場合、圧縮はそれほど大きくなく、実際の転送全体 (圧縮 - 送信 - 圧縮解除) が遅くなります。

于 2010-07-23T17:07:22.557 に答える
1

WSE を使用している場合は、MTOM の使用を検討してください。

WCF を使用している場合は、MTOM バインディングを使用できます。

于 2010-07-23T17:12:58.120 に答える
0

帯域幅/速度を節約したい場合 (多くの異なる画像フォーマットでテストされていません)

7zip C# SDK ( http://www.7-zip.org/sdk.html ) 7-バイトを圧縮して送信

必要に応じて、バイトを「7-Zip」(LZMA)で解凍し、画像に変換します。

于 2010-07-23T17:02:14.707 に答える
0

おそらく、画像を小さな断片で送信したいと思うでしょう(Chris Schroederが述べたように圧縮されていても)、一度に50Kと言います。これにより、ファイル全体を一度に送信するよりも 2 つの利点があります。

  • ユーザーに進行状況を表示できます
  • 1 つの部分の送信に失敗した場合は、ファイル全体ではなく、その部分のみを送信する必要があります

ただし、この方法では、2 つの新しい問題を処理する必要があり、すべてのピースを確実に取得し、それらが正しい順序になっていることを確認します。

画像データと一緒にメタデータを送信すると、この状況を解決できます。このデータを他のデータと関連付ける識別子と、残りの部分との関係でこの部分をどこに配置するかを決定する部分番号。

于 2010-07-23T17:08:19.433 に答える