binarywrite()方法是如何工作的

本文关键字:工作 何工作 方法 binarywrite | 更新日期: 2023-09-27 18:11:45

我从.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输出在哪里?

binarywrite()方法是如何工作的

在这种情况下,context.Response是一个流,表示正在发送到发出http请求的客户端(很可能是web浏览器)的数据。Context.Response是由ASP"引擎"在幕后自动提供给您的。你写入流的任何内容最终都会被发送到浏览器。

通用http处理程序自动提供一个名为Context的HttpContext实例。HttpContext包含两个名为Request和Response的属性,它们允许您访问通用处理程序正在处理的请求和相应的响应。处理程序应该做任何它需要做的处理,并通过将它的应答写入响应流来发送结果。