gpt4 book ai didi

asp.net - 如果在 IIS 中的一个请求中上传大文件,则内存使用情况

转载 作者:行者123 更新时间:2023-12-04 04:50:18 25 4
gpt4 key购买 nike

我将使用 IIS7/8 在 ASP.NET MVC 中实现一个网站,我需要上传大文件(几 GB)。我知道我可以更改 web.config 中的配置以上传最多 4GB 的文件。但我有点担心内存使用情况。

如果我在一个请求中上传了一个 3GB 的文件(只使用一个带有一个表单、一个文件输入元素和一个提交元素的网页),它会消耗我服务器的 3GB 内存吗?或者 IIS 7/8 是否会自动通过 Request.InputStream 以块的形式传递内容,以便服务器端内存使用可以接受?如果是这样,我是否需要配置 IIS 以支持块接收?

最佳答案

IMO 对于此类数据量(超过 1 GB),您可以使用 ftp。这就是这项技术的意义所在。如果您将使用 asp.net 控件来处理如此大量的数据根本不是最好的方法。你也可以考虑
(NeatUpload)[ http://neatupload.codeplex.com

并回答你的问题

在上传过程中,ASP.NET 将整个文件加载到内存中,然后用户才能将文件保存到磁盘或数据库中。因此,由于Machine.config 文件中processModel 标记的memoryLimit 属性,进程可能会被回收。

如果您尝试上传如此大的文件,您可能会遇到许多不同的错误

The page cannot be displayed


Server Application is Unavailable


抛出了 System.OutOfMemoryException 类型的异常。

您可以在这里阅读更多 http://support.microsoft.com/kb/323246

希望它会有所帮助

关于asp.net - 如果在 IIS 中的一个请求中上传大文件,则内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17527365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com