作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
默认情况下,在 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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!