1)ClientAppはASP.Net 2.0への非同期呼び出しWebサービス 2)Webサービスは、SQL Server 2005のストアドプロシージャ 3)呼び出しストアドプロシージャは、データ出力を返し、150メガバイトのテーブルWebサービスが
を作りますメモリ不足新しい行にさらにメモリを割り当てようとしているときに、DataAdapter.Fill(...)によって例外がスローされます。
IISアプリケーションプールには、最大メモリ制限がありません。
IISレベルのどこかで最大のメモリ使用率上限が設定されていますか? 150MBのDBテーブルは、DataSetとしてメモリに読み込まれると、さらに多くの領域を占有しますか? プロシージャの結果がWebサーバーのメモリに常駐する必要はないが、クライアントに直接ストリームされるシナリオが(WCFの場合)おそらくありますか?
クライアントが非同期に要求するため、要求をより小さなデータセットに分割したくない場合があります。すべての部分を収集することも非同期的に行われなければならず、各クライアントは各呼び出しに対して非同期収集を実装する必要があります。
どのような提案、ベストプラクティス、ヒントもありがとうございます。
質問のいくつか。 1)これはWindows Serverの32ビット版でホストされていますか? 2)アプリケーションプールのワーカープロセスがクラッシュしたときのプロセスの大きさはどれですか? – Jeff