如何从ashx文件中获取查询字符串?

13

有一个包含"ProcessRequest(HttpContext context)"方法的ashx文件,它会自动触发。 它是如何在什么时候被触发的? 还有一个问题,当我在这个文件内部时,如何获取当前的QueryString? 当我键入"context.Request.QueryString"时,它显示为空,尽管地址有参数。


从来没有遇到过这个问题 - 建议您发布您的代码和处理程序配置。 - annakata
这是很多文件,每个函数都会调用另一个函数,所以我仍然在试图从头开始理解它。我猜它是从一些JavaScript中调用的! - Ahmad Farid
1个回答

27
当请求ashx文件时,将调用ProcessRequest方法。http上下文对象被传递进来,以便访问诸如查询字符串、标头等内容。
关于查询字符串的访问:
只要在查询字符串中传递了“ID”,以下内容就会起作用。 http://example.com/MyHandler.ashx?ID=12345
public void ProcessRequest (HttpContext context) 
{
    string ID = context.Request.QueryString["ID"];
}

谢谢!但是ashx的请求是如何进行的?通常在哪里? - Ahmad Farid
@Ahmad:你是什么意思?请求由客户端发起,被Web服务器接收,并传递给ASP.NET管道,希望有适当的web.config将请求定向到您的IHttpHandler。 - annakata
我的意思是ashx文件的请求是什么样子的?我以前从未使用过它,也不是我的代码。我只是试图修复别人代码中的一些错误。 - Ahmad Farid
@AhmadFarid,您是指这个吗? webcam.set_api_url('KameraHandler.ashx?patientID=' + patientID); - Cute Bear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接