我试图在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张图像时(例如在网格中) )
答案 0 :(得分:0)
如果您在控制器中启用了会话状态(默认情况下),则它只会一次向一个会话提供一个请求。如果您的GetImageById需要很长时间,那么请求可能会明显延迟。
您应该尝试将[SessionState(SessionStateBehaviour.Disabled)]
或[SessionState(SessionStateBehaviour.ReadOnly)]
添加到您的控制器类中,但您确实需要了解他们正在做的事情:
http://msdn.microsoft.com/en-us/library/system.web.mvc.sessionstateattribute(v=vs.118).aspx