gpt4 book ai didi

c# - 在 ASP.NET 中上传大文件时如何减少服务器内存使用?

转载 作者:可可西里 更新时间:2023-11-01 16:39:14 25 4
gpt4 key购买 nike

默认情况下,在 ASP.NET 中上传的文件在服务器端代码处理之前会完全存储在内存中。当同时上传许多大文件时,这会导致服务器的可扩展性差。

理想的解决方案是允许服务器在上传文件时读取文件(不仅是在上传完成时),或者是在临时文件或数据库中临时存储上传数据的服务器组件。

最佳答案

您在这里谈论的是流式传输与缓冲。

当您在 ASP.NET 应用程序中有一个 byte[] buffer = ...; 行时,无论是用于上传还是下载,您都在进行缓冲并且遇到了您在你的问题。事实上,您有时可以直接调用 GC 来强制释放内存,但有文章、博客、个人和意见绝对反对这样做。

选择流式传输无疑是最好的方式,考虑到 SQL Server 2008 native 支持 FILESTREAM I/O,并且流式传输也可以使用 WCF 完成。

网上有很多关于 WCF 和 SQL Server 流式处理的文章,我不知道您到底需要什么,因为您没有提供更多代码细节,也没有显示任何代码。

关于c# - 在 ASP.NET 中上传大文件时如何减少服务器内存使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7805570/

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