Web サービスで大きなファイル (約 400 MB) をダウンロードするときに問題が発生します。現在、このファイルを取得する (soap プロトコルを使用する) asmx Web サービス (バイト [] を返す) と、この Web サービスの参照を使用してファイルをダウンロードする Windows サービスがあります。ファイルのサイズが大きい場合、大量の RAM メモリ (使用可能なコンピュータ メモリのほぼすべて) を消費します。多くの RAM メモリを消費することなく、Windows サービスでファイルをダウンロードするより良い方法を知りたいです。
質問する
2266 次
2 に答える
1
ファイルの内容によっては、組み込みの圧縮を使用して非常に良い結果が得られ、ファイル サイズが縮小され、問題が解決される場合があります。EnableDecompression
クラスのプロパティを確認SoapHttpClientProtocol
します。クライアントでサブクラス化し、IIS が提供する圧縮機能を使用できます。このアプローチにより、その他の変更の必要がなくなる可能性があります。数百メガバイトはそれほど大したことではないはずです。
編集:あなたの質問をより注意深く読むと、ファイルを完全にダウンロードする別の方法を探していることがわかりました。その場合、おそらく最も簡単な方法は、http/ftp 経由でファイルを公開し、Windows サービスにWebClient
クラスでダウンロードさせることです。
于 2012-06-13T19:27:38.893 に答える
0
大きなファイルの変換にはMTOMを使用できます。
于 2012-06-13T19:16:29.867 に答える