データベースからいくつかの巨大な文字列 (xml パーツ) を収集し、それらを 1 つの大きな xml に連結して、asp.net mvc でクライアントに送信する必要があります。
問題は、作成された xml が大きすぎてメモリに保持できない (OutOfMemoryException がスローされる) ことです。そのため、それをクライアントにストリーミングし、必要に応じて連結する方法を探しています。
自分の FileResult をリターンとして使用し、応答ストリームに直接書き込もうとしました
protected override void WriteFile(HttpResponseBase response)
{
response.Write("<Accounts>");
...
//Get the rows one by one and write them to the response stream here
...
response.Write("</Accounts>");
}
しかし、これも OutOfMemoryException で終了します。
それで、私は何を使うことができますか?