4

Web サービスで大きなファイル (約 400 MB) をダウンロードするときに問題が発生します。現在、このファイルを取得する (soap プロトコルを使用する) asmx Web サービス (バイト [] を返す) と、この Web サービスの参照を使用してファイルをダウンロードする Windows サービスがあります。ファイルのサイズが大きい場合、大量の RAM メモリ (使用可能なコンピュータ メモリのほぼすべて) を消費します。多くの RAM メモリを消費することなく、Windows サービスでファイルをダウンロードするより良い方法を知りたいです。

4

2 に答える 2

1

ファイルの内容によっては、組み込みの圧縮を使用して非常に良い結果が得られ、ファイル サイズが縮小され、問題が解決される場合があります。EnableDecompressionクラスのプロパティを確認SoapHttpClientProtocolします。クライアントでサブクラス化し、IIS が提供する圧縮機能を使用できます。このアプローチにより、その他の変更の必要がなくなる可能性があります。数百メガバイトはそれほど大したことではないはずです。

編集:あなたの質問をより注意深く読むと、ファイルを完全にダウンロードする別の方法を探していることがわかりました。その場合、おそらく最も簡単な方法は、http/ftp 経由でファイルを公開し、Windows サービスにWebClientクラスでダウンロードさせることです。

于 2012-06-13T19:27:38.893 に答える
0

大きなファイルの変換にはMTOMを使用できます。

于 2012-06-13T19:16:29.867 に答える