0

我必须从数据库中收集一些巨大的字符串(xml 部分),将它们连接到一个大 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 结束。

那我可以用什么?

4

1 回答 1

2

response.BufferOutput = false;在开头添加WriteFile

并打电话给Flush每个人写。

于 2013-05-28T10:27:02.657 回答