gpt4 book ai didi

c# - ASP.NET - 存储临时文件

转载 作者:太空狗 更新时间:2023-10-29 21:10:25 24 4
gpt4 key购买 nike

我有一个网络表单,允许用户在我们的系统中打开工单时上传文件。使用“ajax 控件工具包”asyncFileUpload 控件完成上传。

想法是将文件保存到一个临时目录,并且仅当用户点击“提交”按钮时才将它们保存到永久位置。

我希望能够删除不再相关的临时文件(例如,用户将页面打开一个月而没有发布表单)。

不永久保留临时文件的最佳方法是什么。也许将它们保存在 session 中?也许让他们保持在 View 状态?

我可以将一些 JS 添加到带有超时的页面,并添加一些在用户离开页面时运行的代码。但这些想法是客户端解决方案。我不希望有人篡改代码并在我的系统上留下垃圾。

还有其他想法吗?

谢谢,夏球

最佳答案

Maybe keeping them files in the session?

没有。这会不必要地使用大量服务器内存,并且用户可能会通过上传大文件对您的整体服务器性能产生不利影响。

Maybe keeping them in the viewstate?

没有。这实际上意味着每次回发都将无缘无故地再次上传(下载)文件。应用程序性能会显着降低并提供糟糕的用户体验(更不用说占用您的带宽,这可能会让您花钱)。


文件存储在服务器上的一个临时位置,对吗?应用程序会跟踪某种数据存储中的文件信息(我假设是 SQL 数据库)?我建议有一个单独的应用程序来处理清理工作,尤其是因为您谈论的是一个月的规模。

Windows 服务或预定的控制台应用程序可以很好地完成这项工作。它可以定期检查目录和数据库,并根据您指定的任何规则执行一些清理工作。甚至可以使用票务系统中可能存在的任何消息传递机制来通知用户此操作、通知管理员等。

关于c# - ASP.NET - 存储临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150899/

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