C# 如何设计一个MVC应用程序来异步返回图像

C# 如何设计一个MVC应用程序来异步返回图像,c#,asp.net-mvc,C#,Asp.net Mvc,我对修改MVC4应用程序的特定要求的设计感到困惑,希望你们中的一些人能够给我一些关于如何实现我的目标的想法 目前的情况如下: 在网页的客户端,通过传入categoryId参数,对服务器上的方法进行ajax调用 给定特定的categoryId,控制器调用基于java的Web服务以获得一组适用于categoryId的映像 图像将批量返回控制器,并传回客户端进行显示 根据返回的图像数量,该过程可能需要一段时间才能使页面无响应长达15秒或更长时间 更改的要求是单独返回和加载图像,使页面对用户的响应更

我对修改MVC4应用程序的特定要求的设计感到困惑,希望你们中的一些人能够给我一些关于如何实现我的目标的想法

目前的情况如下:

  • 在网页的客户端,通过传入categoryId参数,对服务器上的方法进行ajax调用
  • 给定特定的categoryId,控制器调用基于java的Web服务以获得一组适用于categoryId的映像
  • 图像将批量返回控制器,并传回客户端进行显示
根据返回的图像数量,该过程可能需要一段时间才能使页面无响应长达15秒或更长时间

更改的要求是单独返回和加载图像,使页面对用户的响应更灵敏,即使所有图像的总加载时间没有减少

我对JavaWebService没有直接的控制权,但是管理它的团队愿意做出任何我需要的改变,如果我能清楚地表达我想要从他们那里得到什么的话。我需要找到一种方法给他们categoryId(作为一个单独的调用),并让他们分别将每个图像传给我。此外,还将介绍如何在控制器中处理这些图像,并在每个图像返回后将其传递回页面


我对这件事感到头晕目眩,我希望社区能帮助我从另一个角度来看待这件事。

这些文件是静态内容还是从数据库中提取出来的?在我看来,这是完全基于您的用例的最简单的事情,在获得所有图像之前,递归地触发ajax调用。也许像()这样的框架可以帮助定义自定义处理程序,并在异步任务完成后调用回调。同时显示一个空图像。另一个选择是使用一个代替HandFire的方法,如果你只有category id,那么我会说如果不修改JavaAPI,你的用例是不可能的。你可以做一些不同的事情。您可以计算出有多少个图像以及它们的标识符,这样您就可以单独获取它们,或者2个。对webservice进行1次调用,以获取基于类别id的图像标识符列表,然后以这种方式开始异步获取每个图像,或者3次。编写批处理作业以从此Web服务获取所有图像,并将其本地存储在服务器上。如果希望独立加载图像,则需要对每个图像单独提出请求。为了做到这一点,您需要某种标识符(即uuid/名称),而就目前而言,您似乎没有这样的标识符。关于下拉标识符的建议-然后图像与任何图像一样好,您可以在页面加载时显示占位符图像(例如),以便用户知道发生了什么。