【发布时间】:2010-10-27 12:08:35
【问题描述】:
1) ClientApp 对 ASP.Net 2.0 WebService 进行异步调用 2)Web服务调用SQL Server 2005存储过程 3)存储过程返回数据输出,150MB表
在尝试为新行分配更多内存时,DataAdapter.Fill(...) 抛出内存不足异常。
IIS 应用程序池对其没有任何最大内存限制。
是否在 IIS 级别的其他地方设置了最大内存利用率上限? 150MB 的 db 表作为 DataSet 读入内存时会占用更多空间吗? 是否存在这样的场景(可能使用 WCF),过程的结果永远不必驻留在 Web 服务器内存中,而是直接流式传输到客户端?
我不希望将请求拆分为更小的数据集,因为客户端异步请求它们。收集所有部分也必须异步进行,每个客户端都必须为每次调用实现异步收集。
我们将不胜感激任何建议、最佳做法或提示。
【问题讨论】:
-
几个问题。 1) 这是托管在 32 位版本的 Windows Server 上吗? 2)应用程序池工作进程崩溃时有多大?
标签: asp.net sql-server wcf ado.net iis-6