1

我正在开发一个带有淘汰赛的 ASP.NET MVC 应用程序。它是一个单页应用程序。我有上传图片的功能。我不确定最好的选择是什么。我遇到的问题是,会话不是粘性会话。这意味着不能保证请求会发送到同一个框。我尝试上传图片的选项是

1.) 数据 uri - 我为图像上传创建了一个自定义敲除绑定,该绑定将表单发布到 MVC 控制器,控制器将图像转换为 base64 字符串,我将响应设置为 JS 中的 viewmodel 属性并绑定到 img 标签. 虽然这似乎是最好的解决方案,但我必须支持 IE8,并且这项工作在 IE8 中工作,因为 IE8 对数据 URI 有限制

2.)将图像存储在应用程序服务器的临时文件夹中 - 由于粘性会话不可用,因此无法可靠地工作

3.)将图像存储在会话中-这似乎是非性能的,因为会话最终会占用内存

还有其他方法吗?

4

1 回答 1

0

广告 1) 这个选项对于会话问题来说很酷,但是在传输过程中你会有很大的开销(每张图片你都会多次发送给客户端并返回)。

广告 2)您可以将图像存储在唯一子文件夹中的临时文件夹中(例如使用 GUID 名称),并仅将此 GUID 发送给客户端。当然,您必须提供不时清理此文件夹的解决方案 - 但这很容易。

广告 3)如果您将会话存储在内存中,您的 Web 服务器将很快“炸毁”,并出现内存不足的异常。

所以在我的选择中,最好的选择是 2,因为:

  1. 您将节省转移,因此您的网站将为客户更快地工作
  2. 这很容易实现
  3. 它很容易管理。
于 2013-06-17T07:56:44.317 回答