В течение долгого времени я заметил что-то раздражающее при работе над проектами веб-приложений, связанными с изображениями на базе данных на моей локальной машине. По локальному я имею в виду, что это типичная среда с VS 2008 и SQL Server 2005 на моей рабочей станции. Всякий раз, когда я использую HttpHandler для отображения изображений на моем локальном уровне, только некоторые изображения отображаются на каждой загрузке страницы.
Однако, когда я нажимаю приложение в размещенную среду, проблема обычно исчезает. Однако я просто вытолкнул новый проект в размещенную среду и испытал ту же проблему, что и на моем локальном уровне - на этот раз сайт и БД находились на одном сервере в среде хостинга. Кто-нибудь взял на себя то, что здесь происходит?
Здесь обработчик:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class FeaturedHandler : IHttpHandler
{
    Business biz = new Business();
    public void ProcessRequest(HttpContext context)
    {
        if (context.Request.QueryString["ListingID"] != null)
        {
            int listingID = Convert.ToInt32(context.Request.QueryString["ListingID"]);
            DataSet ds = biz.GetFeaturedImageByID(listingID);
            DataRow row = ds.Tables[0].Rows[0];
            byte[] featureImage = (byte[])row["Photo"];
            context.Response.ContentType = "image/jpeg";
            context.Response.OutputStream.Write(featureImage, 0, featureImage.Length);
        }
        else
            throw new ArgumentException("No ListingID parameter specified");
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
} 
Я попытался использовать БД на отдельном сервере, но столкнулся с той же проблемой. Должен ли я использовать DataReader вместо этого?
UPDATE Я должен был использовать DataReader изначально, так как я читаю двоичные данные.
