Comment puis-je utiliser un .ashx gestionnaire avec un asp:Image de l'objet?

J'ai un ashx gestionnaire:

<%@ WebHandler Language="C#" Class="Thumbnail" %>

using System;
using System.Web;

public class Thumbnail : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        string imagePath = context.Request.QueryString["image"];

        //split the string on periods and read the last element, this is to ensure we have
        //the right ContentType if the file is named something like "image1.jpg.png"
        string[] imageArray = imagePath.Split('.');

        if (imageArray.Length <= 1)
        {
            throw new HttpException(404, "Invalid photo name.");
        }
        else
        {
            context.Response.ContentType = "image/" + imageArray[imageArray.Length - 1];
            context.Response.Write(imagePath);
        }
    }

    public bool IsReusable
    {
        get { return true; }
    }
}

Pour l'instant tout ce gestionnaire n'est d'obtenir une image et de le retourner. Dans ma page aspx, j'ai cette ligne:

<asp:Image ID="Image1" runat="server" CssClass="thumbnail" />

Et le code C# derrière cela est:

Image1.ImageUrl = "Thumbnail.ashx?image=../Files/random guid string/test.jpg";

Lorsque j'affiche la page web, les images ne s'affichent pas et le code HTML montre exactement ce que j'ai tapé:

<img class="thumbnail" src="Thumbnail.ashx?image=../Files%5Crandom guid string%5Cimages%5Ctest.jpg" style="border-width:0px;" />

Quelqu'un peut me dire pourquoi cela ne fonctionne pas? Malheureusement, je n'ai commencé à travailler avec ASP.NET hier et je n'ai aucune idée de comment il fonctionne, donc merci de garder les explications simples si possible, merci.

OriginalL'auteur | 2009-07-08