W Twój przykład, PageMethods.DoSomething powinien mieć wartość zwracaną równą WebRequest, jeśli jest to proxy usługi WWW asp.net. Jest to możliwe, aby można było manipulować żądaniem po jego zainicjowaniu (tj. Anulowaniu itd.).
W tej klasie dostępna jest metoda add_completed, za pomocą której można dodać procedurę obsługi po zakończeniu żądania strony internetowej. Sygnatura dla wywołania zwrotnego to function OnWebRequestCompleted(executor, eventArgs)
, a parametr executor
umożliwia uzyskanie dodatkowych informacji o odpowiedzi. Na przykład można uzyskać nagłówki odpowiedzi za pomocą executor.getAllResponseHeaders()
; która powinna być mapą (nazwaną kolekcją) nazw nagłówków i wartości.
Jeśli więc dodasz moduł obsługi do zakończonego zdarzenia żądania internetowego natychmiast po wykonaniu wywołania metody serwisowej, powinien on działać (na świecie nie ma usługi sieciowej, która może reagować szybciej niż dwa kolejne wiersze kodu!).
Poprzednie hiperłącze do WebRequest zawiera pełny przykład tego, jak to połączyć. Zauważ jednak, że ten kod używa bezpośrednio WebRequest.
ASP.Net Ajax Web Service klasy proxy używają klasy WebServiceProxy
, a każda metoda proxy ostatecznie wywołuje jej metodę invoke
, która zwraca instancję WebRequest
.
Dziękuję Lord Zoltan. To bardzo pomocne informacje! – James
cieszę się z użycia;) –