Потоковая передача изображений с использованием HttpHandler

В течение долгого времени я заметил кое-что раздражающее при работе над проектами веб-приложений, использующими изображения на базе данных на моем локальном компьютере. Под локальным я подразумеваю, что это типичная среда с 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 вместо этого?

ОБНОВИТЬ Я должен был использовать DataReader изначально, так как я читаю двоичные данные.

Ответы на вопрос(3)

Ваш ответ на вопрос