2010-11-03 13 views
10

Hay un archivo ashx que contiene "ProcessRequest(HttpContext context) "método que se activa automáticamente.¿Cuándo y cómo se dispara? Otra pregunta, ¿cómo puedo obtener el QueryString actual cuando estoy dentro de este archivo? Cuando escribo" context.Request.QueryString "dice es nulo o está vacío aunque la dirección tiene argumentos.¿Cómo obtener el QueryString de un archivo ashx?

+0

nunca tuvo un problema con esto - sugieren que publique el código y el Gestor de configuración de – annakata

+0

Es una gran cantidad de archivos de cada función llama a otro, así que todavía estoy tratando de atraparlo desde el principio. ¡Creo que se llama desde algunos javascript! –

Respuesta

23

Se llama al método ProcessRequest cuando se realiza una solicitud para el archivo ashx. El objeto de contexto http se transfiere para permitir el acceso a cosas como la cadena de consulta, encabezados, etc.

Re: querystring acceso:

El fol lowing funcionará siempre que se pase "ID" en la cadena de consulta.

http://example.com/MyHandler.ashx?ID=12345

public void ProcessRequest (HttpContext context) 
{ 
    string ID = context.Request.QueryString["ID"]; 
} 
+0

¡Gracias! ¿Pero cómo se hace la solicitud de ashx? ¿Y dónde usualmente? –

+0

@Ahmad: ¿Qué quieres decir? La solicitud la realiza el cliente, la recibe el servidor web y la pasa a la canalización de ASP.NET, que con suerte tiene web.config apropiado para dirigir la solicitud a su IHttpHandler – annakata

+0

Me refiero a cómo se ve la solicitud al archivo ashx. Nunca lo he usado antes y no es mi código. Solo estoy tratando de arreglar algún error en el código de otra persona –

Cuestiones relacionadas