当您尝试使用
Response.WriteFile 方法下载大文件时,下载操作可能没有响应,并且随后可能会收到以下错误信息之一:
The page cannot be displayed
- 或 -
Server Application Unavailable
The Web application you are attempting to access on this Web server is currently unavailable.Please hit the "Refresh" button in your Web browser to retry your request.
Administrator Note:An error message detailing the cause of this specific request failure can be found in the system event log of the web server.Please review this log entry to discover what caused this error to occur.
您还可能会在应用程序事件日志中看到以下消息:
Aspnet_wp.exe(对于在 Microsoft Internet 信息服务 [IIS] 6.0 上运行的应用程序,则为 W3wp.exe)意外停止。
在此过程中,您还可能会发现 Web 服务器的内存使用量增加。
Web 服务器计算机的硬件配置决定您可以成功下载的最大文件大小。当 ASP.NET 辅助进程(Aspnet_wp.exe,对于在 Internet 信息服务 6.0 [IIS] 上运行的应用程序,则为 W3wp.exe)执行文件下载请求时,会出现文件下载对话框。ASP.NET 辅助进程开始向 Microsoft Internet 信息服务进程(Inetinfo.exe 或 Dllhost.exe)发送数据。它不等您单击“确定”即开始发送。
根据计算机的配置,IIS 进程可能会处理数据,也可能会将数据缓存在内存中。如果文件太大,在这两个进程相互通信的过程中,数据将被缓存在内存中。这可能会导致服务器上的内存使用量增加。出现此错误的原因是 Web 服务器上的内存限制。
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
307603 (http://support.microsoft.com/kb/307603/) 如何使用 ASP.NET 和 Visual Basic .NET 向浏览器写入二进制文件
306654 (http://support.microsoft.com/kb/306654/) 如何使用 ASP.NET 和 Visual C# .NET 向浏览器写入二进制文件
有关更多信息,请访问下面的 Microsoft Developer Network (MSDN) Web 站点: