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"
誰かが私がここで間違っていることを教えてもらえますか?