.net MVC показывает несколько фотографий из базы данных показывает дубликаты - PullRequest
1 голос
/ 18 января 2012

Я использовал примеры, которые мне показались на нескольких форумах, для отображения байта [] в представлении.Проблема у меня в том, что иногда фото дублируется на виде.Например, я хочу показать фото1 и фото2.Когда страница загружается, я вижу фото1 и фото2.Я обновляю страницу и могу видеть фото1 дважды или фото2 дважды.

Обновление:

Я нашел свою проблему.Я нашел класс, который не был написан для работы с потоками в глубине нашего внутреннего кода.Он держал состояние о запрошенной фотографии.Таким образом, в зависимости от сроков запроса фотографий два запроса могут вернуть одну и ту же фотографию.

Вот код моего контроллера.

    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>
...