在ASP.NET MVC中提供共享图像

时间:2012-09-23 08:46:02

标签: asp.net-mvc image asp.net-web-api

我正在开发一个涉及在同一个IIS 7.5服务器上托管的两个Web门户的项目: (A)用于管理的MVC4 Web应用程序 (B)使用jQuery Mobile的移动MVC4 Web应用程序

两者都从其他IIS服务器上托管的基于Web API的服务中检索数据。

现在,我即将添加对管理员门户(A)上管理的图像的操作,并向移动应用程序(B)中的客户端显示。图像将以更高的频率动态添加/更改。

我脑子里有两个解决方案:

  1. 将托管Web API的服务器上的所有图像存储在数据库中作为字节数组,并按需将其作为base64字符串发送 - 在移动应用程序页面上呈现为base64字符串:

    • 可以设置任何类型的安全限制并将其与MVC良好集成
    • 页面将在一个请求中呈现
    • 从Web API转移到移动应用
    • 缓存会怎样?
  2. 将所有图像存储在托管某个共享文件夹中的(A)和(B)服务器上,将它们作为常规标记包含在渲染页面中。

    • WebAPI与Web服务器之间无转移
    • 图像缓存
    • 对页面上每张图片的多个请求
  3. 我必须考虑的是,本机iPhone应用程序将扮演与移动网络应用程序相同的角色,这意味着它应该可以访问同一组图像。

    任何想法都会受到赞赏,我正在寻找最佳实践解决方案,指南,提示或任何我可以使用的。

    另外,如果建议选项2.存储两个门户之间共享图像的最佳位置是什么?

    谢谢!

1 个答案:

答案 0 :(得分:0)

我建议您使用选项2并将图像存储在某个共享文件夹中。最好的方法是拥有一个特定的应用程序,作为托管所有静态资源的CDN。根据{{​​3}},此CDN应托管在与客户端不同的顶级域上,从而允许无cookie访问那些降低带宽消耗的域。