public void WriteImage() { WebSession = (Web.Session)Session["WebSession"]; Response.ClearContent(); Response.BufferOutput = false; string imageID = Request.QueryString["ImageID"]; if ((imageID != null) && (imageID != String.Empty)) { using (Stream stream = WebSession.ImageCache.Read(imageID)) { Response.AppendHeader(ContentLengthHeader, stream.Length.ToString()); StreamUtility.CopyStream(stream, Response.OutputStream); } } else { imageID = Request.QueryString["HandlerID"]; if ((imageID != null) && (imageID != String.Empty)) { LoadImageHandler handler = WebSession.ImageCache.GetImageHandler(imageID); if (handler != null) { handler(Context, imageID, Response.OutputStream); } } } }
public string RegisterImageHandler(LoadImageHandler handler) { string iD = Session.GenerateID(); _imageHandlers[iD] = handler; return iD; }