.net Web サービスで WebMethod を呼び出しています。Windows プロセスが許可されている 2 GB の制限を超えているため、クライアントで OutOfMemoryException を引き起こすのに十分なデータを取り込むことができます。
締め切りがあるため、コードを追加して呼び出しを小さなチャンクに分割することでこれを解決したくありません。クライアントで LARGEADDRESSAWARE フラグを使用できますが、クライアントのプロセスにはまだ制限があります (3GB ~ 4GB)。現時点では、この方が良いとしか言えませんが、それで十分であるとは言えません (クライアントは、CD で顧客にリリースされる WinForm であるため、これは 1 回しか試していません)。 .
優れているのは、WebMethod を呼び出して、メソッドの結果を .NET コードの変数に書き込むのではなく、ハード ドライブ上のファイルに直接書き込む方法です。次に、ファイルから一度に 1 つのメモリに適したチャンクを読み取ることができました。私が知る限り、Web サービスにはこれを行う方法がありません。
Web サービスでこれを行う方法はありますか? 私の OOM の問題を解決するために考えつくことができる他の創造的な解決策はありますか?