在ASP.NET MVC中显示多个二进制图像

时间:2013-11-26 08:52:39

标签: c# asp.net-mvc binary

我试图在asp.net mvc中显示几个图像。我的问题是,他们没有加载并行。

我正在调用这样的图像:

<img alt=""  src="/Picture/Image/?picid=@pic.ImageId">

和显示图像的方法是:

public ActionResult Image(string picid)
    {
        var pictureid = new Guid(picid);
        var picture = _mediaRepository.GetImageById(pictureid);

        return File(picture.ImageData, picture.MimeType);
     }

但正如我已经说过的那样,图像并没有以这种方式并行加载,这意味着,浏览器当时只能绘制一张图片,这会导致很长的延迟,当我试图显示10张图像时(例如在网格中) )

1 个答案:

答案 0 :(得分:0)

如果您在控制器中启用了会话状态(默认情况下),则它只会一次向一个会话提供一个请求。如果您的GetImageById需要很长时间,那么请求可能会明显延迟。

您应该尝试将[SessionState(SessionStateBehaviour.Disabled)][SessionState(SessionStateBehaviour.ReadOnly)]添加到您的控制器类中,但您确实需要了解他们正在做的事情:

http://msdn.microsoft.com/en-us/library/system.web.mvc.sessionstateattribute(v=vs.118).aspx