我有来自.ashx文件的以下代码行。
public void ProcessRequest (HttpContext context)
{
string hstr = @"Data Source=SUMAN-PC\SQLEXPRESS;Initial Catalog=school;Integrated Security=True";
SqlConnection con = new SqlConnection(hstr);
string ms = context.Request.QueryString["id_image"].ToString();
con.Open();
SqlCommand cmd = new SqlCommand("select img from class where classid=" + ms, con);
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
context.Response.BinaryWrite((Byte[])dr[0]);
context.Response.End();
}
经过一番研究后我发现了这个
“BinaryWrite方法将特定数据发送到当前HTTP输出 没有任何角色转换。“
这是什么意思?它如何将数据发送到http输出? HTTP输出在哪里?
答案 0 :(得分:2)
在这种情况下,context.Response
是一个流,表示发送给发出http请求的客户端(很可能是Web浏览器)的数据。 ASP"引擎"会自动为您提供Context.Response
。在幕后。您写入该流的任何内容最终都会发送到浏览器。
通用http处理程序自动为您提供名为Context
的HttpContext实例。 HttpContext包含两个名为Request和Response的属性,允许您访问通用处理程序所服务的请求以及相应的响应。处理程序应该执行它需要执行的任何处理,并通过将结果写回Response流来发送结果。