我正在.net Web 服务上调用 WebMethod。它可以提取足够的数据以在客户端上引发 OutOfMemoryException,因为它超出了 Windows 进程允许的 2GB 限制。
由于截止日期,我不想通过添加代码将调用拆分成更小的块来解决这个问题。我可以在客户端上使用 LARGEADDRESSAWARE 标志,但是客户端的进程仍然会有限制(3GB-4GB)。在这一点上,我只能说这样会更好,但我不能说永远就足够了(客户端是一个 WinForm,将通过 CD 发布给客户,所以我只尝试过一次) .
最好的方法是调用 WebMethod 并将方法的结果直接写入硬盘驱动器上的文件,而不是写入我的 .NET 代码中的变量。然后我可以一次从文件中读取一个内存友好的文件块。据我所知,Web 服务没有办法做到这一点。
有没有办法用 Web 服务做到这一点?您是否可以想出其他创造性的解决方案来解决我的 OOM 问题?