当您在ASP.NET中收到上传的文件时,通常通过HttpPostedFile
对象执行此操作。收到的数据可通过HttpPostedFile.InputStream
获取。这是一个属性,这会让我相信我不需要自己处理它,但是文档从未提到 负责处理流,以及它是否由ASP.NET完成框架,当它这样做时(比方说,我可以在会话中保存流吗,我应该这样做吗?)。
现在,我没有收到那么多文件,我没有因为没有处理这个特定的流而遇到问题,但是为了清洁 - 有谁知道这里的设计合同是什么?
答案 0 :(得分:7)
根据我使用它的经验,我会说它会在请求处理完成后立即发布。一个例子是如果我把球扔到空中。如果我没有抓住它并且撞到地面......它会被处理掉。如果我抓住它并用它做某事......然后丢弃它就会被处理掉。它不会让你在下一个请求中玩耍!
解决将其存储在会话中的问题我会说NOOOOOO!如果你需要它一段时间将它写入文件系统。当你需要它时再次将它重新组成一个流并玩它。在会话中存储文件流(可能是一个字节数组?)听起来像是对会话(内存)资源的巨大浪费。