मैं छवियों को पुनर्प्राप्त करने के लिए एएसएक्स अनुरोध हैंडलर का उपयोग कर रहा हूं और एएसएक्स फ़ाइल में मेरा ब्रेकपॉइंट हिट नहीं किया जा रहा है। जब मैं फ़ायरबग का उपयोग करता हूं तो मैं देख सकता हूं कि अनुरोध 404 लौटा रहा है जो मुझे लगता है कि मुझे कुछ सेटिंग कॉन्फ़िगर करने की आवश्यकता है ताकि एएसएक्स फ़ाइल मिल सके।asp.net ashx अनुरोध 404
मैं विजुअल स्टूडियो 2008 और .NET 3.5 का उपयोग कर रहा हूं।
ashx फ़ाइल
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 > 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;
}
}
}
}
पृष्ठ क्लिक करें घटना
protected void Button1_Click(object sender, EventArgs e)
{
Image1.ImageUrl = "~/DB_Images.ashx?id=" + TextBox1.Text;
}
ashx एचटीएमएल
<%@ WebHandler Language="C#" CodeBehind="DB_Images.ashx.cs" Class="hybrid.content.Handlers.DB_Images" %>
वहाँ किसी भी html नहीं है उस संदर्भ के अलावा।
क्या ऐसा कुछ है जो मुझे काम करने के लिए याद आ रही है?
क्या आप हैंडलर के "एचटीएमएल" दृश्य पर जो पेस्ट कर सकते हैं उसे पेस्ट कर सकते हैं? (एएसएक्स फ़ाइल की सामग्री) –
आईआईएस सेटअप हैंडलर की सेवा करने के लिए? –
@TheSavage आईआईएस हैंडलर की सेवा के लिए सेटअप है। –