【发布时间】:2017-12-30 06:36:26
【问题描述】:
我有一个用于 ASP.NET 网站的通用处理程序 (.ashx),它允许我从存储在 SQL Server 数据库中的二进制数据中查看图像文件:
public class ImageProvider : IHttpHandler {
public string connString = "...";
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/jpeg";
string sqlSelectQuery = "select img from Subjects Where [Id] = 'XXXX'";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlSelectQuery, conn);
byte[] img = (byte[])cmd.ExecuteScalar();
context.Response.BinaryWrite(img);
}
我目前正在使用简单的 Response.Redirect() 命令将处理程序连接到我网站的其余部分:
Response.Redirect("ImageProvider.ashx");
我的问题是 - 在调用通用处理程序时如何传递任何类型的变量参数(sql 查询中的 XXX)?
非常感谢
【问题讨论】:
-
通常使用处理程序,您将针对您希望它运行的文件类型/路径注册它,然后从请求路径中提取数据。
-
我不确定我是否理解您所说的注册路径和文件类型是什么意思。 Magnus 的回答非常适合我的需求,但我很想了解更多
标签: c# asp.net generic-handler