En su ejemplo, PageMethods.DoSomething debe tener un valor de retorno igual a WebRequest si se trata de un proxy del servicio web asp.net. Esto se proporciona para que pueda manipular la solicitud después de haberla iniciado (es decir, cancelarla, etc.).
Con esta clase tiene un método add_completed que puede usar para agregar un controlador cuando la solicitud web finalice. La firma para la devolución de llamada es function OnWebRequestCompleted(executor, eventArgs)
, y el parámetro executor
en esto le permite obtener información de respuesta adicional. Por ejemplo, puede obtener los encabezados de respuesta con executor.getAllResponseHeaders()
; que debería ser un mapa (colección nombrada) de nombres y valores de encabezado.
Si agrega un controlador al evento completado de la solicitud web inmediatamente después de realizar la llamada al método de servicio, debería funcionar (¡no hay servicio web en el mundo que pueda responder más rápido que dos líneas consecutivas de código!).
El hipervínculo anterior a WebRequest contiene un ejemplo completo de cómo se conecta esto. Sin embargo, tenga en cuenta que este código usa WebRequest directamente.
Asp.Net Las clases proxy de Ajax Web Service usan la clase WebServiceProxy
, y cada método proxy llama finalmente a su método invoke
, que devuelve la instancia WebRequest
.
Gracias Lord Zoltan. ¡Esa es una información muy útil! – James
contento de ser útil;) –