显示来自db的多张照片的.net MVC显示重复的照片

时间:2012-01-18 18:33:38

标签: c# asp.net-mvc photo

我已经在几个论坛上使用了我在一个视图上显示byte []的示例。我遇到的问题是有时照片会在视图上重复出现。例如,我想显示photo1和photo2。当页面加载时,我看到photo1和photo2。我刷新页面,我可能会看到photo1两次或photo2两次。

更新

我发现了我的问题。我发现在我们的后端代码中没有编写为线程安全的类。它持有关于所要求的照片的状态。因此,根据照片请求的时间,两个请求可能会返回相同的照片。

这是我的控制器代码。

    public virtual ActionResult GetImage(int id) {

        ClientDataPortal portal = new ClientDataPortal();
        GetPhotosCommand command = new GetPhotosCommand();
        command.GetPhotosActionEnum = GetPhotosActionEnum.GETDISTRIBUTORPHOTO;
        command.PhotoSearchCriteria = new PhotoSearchCriteria();
        command.PhotoSearchCriteria.DistributorPhotoId = id;
        DistributorPhotoData item = portal.Fetch<DistributorPhotoData>(command);
        //return new FileStreamResult(new System.IO.MemoryStream(item.Thumbnail), "image/jpeg");
        return File(item.Thumbnail, "image/jpeg");

    }

以下是视图中的代码

            <table>
                @foreach (var item in Model.DistributorPhotos) {     
                    <tr>  
                        <td  id="item.DistributorPhotoId.ToString()" >              
                        <img id="item.DistributorPhotoId.ToString()" src="@Url.Action("GetImage", "Photo", new { id = item.DistributorPhotoId })" alt="Image" />
                        </td>
                        <td>@item.DistributorPhotoId.ToString()</td>
                   </tr>
                }
            </table>

0 个答案:

没有答案