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



我正在进行一个项目,该项目涉及托管在同一IIS 7.5服务器上的两个门户网站:(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服务器之间没有传输
    • 缓存图像
    • 页面上每个图像的若干请求

我也必须考虑的是,将有一个本地iPhone应用程序扮演与移动网络应用程序相同的角色,这意味着它应该可以访问相同的图像集。

任何想法都将不胜感激,我正在寻找最佳实践解决方案、指南、提示或任何我可以使用的东西。

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

谢谢!

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

最新更新