title: asp.net ashx request 404
body: <p>I am using an ashx request handler to retrieve images and my breakpoint in the ashx file isn't being hit. When I use firebug I can see that the request is returning a 404 which makes me think that I need to configure some setting so that ashx file can be found.</p>
  
  <p>I am using visual studio 2008 and .net 3.5.</p>
  
  <p><strong>ASHX file</strong></p>
  
  <pre><code>namespace hybrid.content.Handlers
  {
   public class DB_Images : IHttpHandler
   {
      public void ProcessRequest(HttpContext context)
      {
          Int32 image_id;
          if (context.Request.QueryString["id"] != null)
              image_id = Convert.ToInt32(context.Request.QueryString["id"]);
          else
              throw new ArgumentException("No parameter specified");
  
          context.Response.ContentType = "image/jpeg";
          Stream strm = GetImageFromDatabase(image_id);
          if (strm != null)
          {
              byte[] buffer = new byte[4096];
              int byteSeq = strm.Read(buffer, 0, 4096);
  
              while (byteSeq &gt; 0)
              {
                  context.Response.OutputStream.Write(buffer, 0, byteSeq);
                  byteSeq = strm.Read(buffer, 0, 4096);
              }
              //context.Response.BinaryWrite(buffer);
          }
      }
  
      public Stream GetImageFromDatabase(int image_id)
      {
          SqlConnectionStringBuilder connstr = new SqlConnectionStringBuilder();
          //connstr.InitialCatalog = "dummy";
          //connstr.UserID = "sa";
          //connstr.Password = "password";
          //connstr.DataSource = "source";
          connstr.InitialCatalog = "smsdb";
          connstr.UserID = "user";
          connstr.Password = "password";
          connstr.DataSource = "10.31.4.79";
  
          SqlConnection conn = new SqlConnection(connstr.ConnectionString);
          SqlCommand cmd = new SqlCommand();
          cmd.Connection = conn;
          //            cmd.CommandText = "select image from cis_images where image_id = @p_image_id";
          cmd.CommandText = "select image from test_images where image_id = @p_image_id";
          cmd.Parameters.AddWithValue("@p_image_id", image_id);
          conn.Open();
          object img = cmd.ExecuteScalar();
          try
          {
              return new MemoryStream((byte[])img);
          }
          catch
          {
              return null;
          }
          finally
          {
              conn.Close();
              conn.Dispose();
          }
      }
  
      public bool IsReusable
      {
          get
          {
              return false;
          }
      }
    }
  }
  </code></pre>
  
  <p><strong>Page click event</strong></p>
  
  <pre><code>protected void Button1_Click(object sender, EventArgs e)
      {
          Image1.ImageUrl = "~/DB_Images.ashx?id=" + TextBox1.Text;
      }
  </code></pre>
  
  <p><strong>ashx html</strong></p>
  
  <pre><code>&lt;%@ WebHandler Language="C#" CodeBehind="DB_Images.ashx.cs" Class="hybrid.content.Handlers.DB_Images" %&gt;
  </code></pre>
  
  <p>There isn't any html apart from that reference.</p>
  
  <p>Is there something that I am missing to get this to work?</p>