【问题标题】:httphandler is never hithttphandler 永远不会被击中
【发布时间】:2012-09-05 20:20:05
【问题描述】:

我正在使用 HttpHandler 从数据库中检索图像,然后在我的网页 (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"

谁能告诉我我在这里做错了什么?

【问题讨论】:

  • 能否提供您注册处理程序的 Web 配置部分?
  • 您是否将浏览器指向此:Handlers/ImageHandler.ashx?id=2 ?
  • 我还没有在 Web.config 中添加任何内容。我的想法可能很愚蠢,但我认为就我在本地机器上使用 ASP DEV 服务器而言,我可以跳过 web.config 部分。如果不是这样,请纠正我。
  • @Jack - 在我粘贴的标记代码中,您可以看到 Imageurl 指向 ~/Handlers/ImageHandler.ashx?id=2。

标签: c# asp.net .net httphandler


【解决方案1】:

好吧,我现在可以看到我的愚蠢了。我刚刚在 web.config 中注册了我的处理程序,现在一切正常。

【讨论】:

    猜你喜欢
    • 2014-08-02
    • 1970-01-01
    • 2021-01-24
    • 2020-01-11
    • 1970-01-01
    • 2020-11-18
    • 2012-10-27
    • 2013-10-12
    • 2013-08-21
    相关资源
    最近更新 更多