2010-11-03 25 views
10

Istnieje plik ashx zawierający "ProcessRequest(HttpContext context) "metodę, która jest uruchamiana automatycznie, kiedy i jak zostanie uruchomiona? Kolejne pytanie, Jak mogę uzyskać bieżące zapytanie QueryString, gdy jestem w tym pliku? Kiedy wpisuję" context.Request.QueryString ", mówi jest pusty lub pusty, mimo że adres ma argumenty:Jak uzyskać QueryString z pliku ashx?

+0

Nigdy nie miałem z tym problemu - Proponuję wysłać kod i programu obsługi config – annakata

+0

To dużo plików każdą funkcję wzywającą inny, więc jestem nadal próbuje złapać go od początku. Domyślam się, że to jest wywoływane z jakiegoś javascriptu! –

Odpowiedz

23

Metoda ProcessRequest jest wywoływana, gdy tworzony jest wniosek o plik ashx. Obiekt kontekstu http jest przekazywany, aby umożliwić dostęp do takich elementów, jak zapytania, nagłówki itp.

Re: dostęp querystring:

Fol lowing będzie działać tak długo, jak długo "ID" będzie przekazywane na zapytanie.

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

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

Dzięki! Ale w jaki sposób tworzona jest prośba o ashx? I gdzie zwykle? –

+0

@Ahmad: Co masz na myśli? Żądanie jest wysyłane przez klienta, otrzymane przez serwer sieci Web i przekazywane do potoku ASP.NET, który ma nadzieję, że będzie odpowiedni plik web.config do kierowania żądania do twojego IHttpHandler – annakata

+0

. Mam na myśli to, jak wygląda zapytanie do pliku ashx? Nigdy wcześniej tego nie używałem i to nie jest mój kod. Próbuję naprawić błąd w czyimś kodzie –