2010-11-03 17 views
10

C'è un file ashx contenente il metodo "ProcessRequest(HttpContext context) "che viene attivato automaticamente Quando e come viene generato? Un'altra domanda, Come posso ottenere QueryString corrente quando sono dentro questo file? Quando digito" context.Request.QueryString ", si dice è null o vuoto sebbene l'indirizzo abbia argomenti.Come ottenere QueryString da un file ashx?

+0

mai avuto un problema con questo - suggeriscono di postare il tuo codice e il gestore di configurazione – annakata

+0

E 'un sacco di file ogni funzione chiamare un altro modo sto ancora cercando di catturare fin dall'inizio. Immagino sia chiamato da qualche javascript! –

risposta

23

Il metodo ProcessRequest viene chiamato quando viene effettuata una richiesta per il file ashx. L'oggetto del contesto http viene passato per consentire l'accesso a elementi come la querystring, le intestazioni, ecc.

Re: querystring accesso:

Il fol il lowing funzionerà fintanto che "ID" è passato sulla querystring.

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

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

Grazie! Ma come viene fatta la richiesta di ashx? E dove di solito? –

+0

@Ahmad: cosa intendi? La richiesta viene effettuata dal client, ricevuta dal server Web e passata alla pipeline ASP.NET che si spera abbia web.config appropriato per indirizzare la richiesta a IHttpHandler – annakata

+0

Voglio dire come appare la richiesta sul file ashx? Non l'ho mai usato prima e non è il mio codice. Sto solo cercando di correggere qualche bug nel codice di qualcun altro –