0

HttpHandler を使用してデータベースから画像を取得し、Web ページ (aspx) の Image Web コントロールで Handler を ImageUrl として使用しています。コードを以下に示します。しかし、それは機能せず、これまでのところ理由がわかりませんでした。問題は、HttpHandler がヒットしたことがないことです。ブレークポイントを processrequest() に保持すると、ヒットすることはありません。

以下は Handler の簡単なコードです

public class ImageHandler : IHttpHandler
{
    StaffMemberRepository db = new StaffMemberRepository();
    public void ProcessRequest(HttpContext context)
    {
        int id = Convert.ToInt32(context.Request.QueryString["id"].ToString());
        byte[] image = db.GetImage(id);
        context.Response.ContentType = "image/jpg";
        context.Response.BinaryWrite(image);
    }

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

以下は私のウェブページのマークアップです

asp:Image ID="imgStaff" runat="server" ImageAlign="Middle" ImageUrl="~/Handlers/ImageHandler.ashx?id=2"

誰かが私がここで間違っていることを教えてもらえますか?

4

1 に答える 1

0

わかりました、私は今私の愚かさを見ることができました。ハンドラーを web.config に登録したところ、すべて問題ないようです。

于 2012-09-05T20:51:17.527 に答える