ASP.NET MVC在一个事务中创建的最佳实践

时间:2013-06-26 09:49:52

标签: ajax asp.net-mvc

目前我正在开发一个MVC Web应用程序,该应用程序应具有某种条目的创建对话框。

应该可以输入一些文本信息以及上传文档,图像,视频等。

出现以下问题:

在ONCE上传一大堆信息是否有一般的最佳做法?在用户真正决定提交信息之前,不应在数据库中创建对象。

我想到了一些解决方案

  • 使用FileAPI在浏览器中存储上传内容
  • 选择文件时立即进行AJAX上传。但是在服务器上“缓存”文件的位置?由于我正在创建对象,因此该条目不在数据库中。
  • 打开表单时创建数据库条目?但这会导致数据库中的垃圾

非常感谢任何建议

谢谢 亲切的问候

1 个答案:

答案 0 :(得分:2)

我认为这种方法很适合。

  1. 具有会话缓存,将文件字节保留在服务器内存中。
  2. 当用户进入上传页面时,请将其清除。
  3. 当用户上传文件时,请在服务器会话缓存中保存文件字节。
  4. 当用户确实要上传文件时 - 比如说 - 提交文件 - 按钮类型,从会话缓存中获取文件并上传到数据库中。
  5. 将会话缓存保存在数据库中时清除会话缓存。
  6. 如果是大型文件(如视频),您希望创建一个临时文件夹(每个用户),将文件保存在该文件夹中 - 而不是会话缓存,并在文件保存到数据库后清除/删除该文件夹。