2009-10-07 19 views
13

Estoy construyendo una página dinámica asp.net de carga parcial, me gustaría usar jQuery para llamar a métodos de página o servicio web para recuperar el contenido HTML.Métodos de página ASP.NET vs servicio web

métodos de página o servicio web, rendimiento sabio, ¿de qué manera es mejor?

Si llamo al método de página, en el lado del servidor, ¿la página pasa por un ciclo de vida completo?

¿Hay algún recurso que me ayude a comprender mejor el método de la página?

Respuesta

17

Puede llamar a PageMethods y servicios web sin necesidad de un control ScriptManager (que genera los objetos proxy de JavaScript que le permiten utilizar la sintaxis familiar para llamar a servicios web y métodos de página).

artículo en using jQuery to directly call ASP.NET AJAX page methods

artículo en using jQuery to Consume ASP.NET JSON Web Services

He aquí un MSDN article from 2007 on Web Services and Page Methods. Si lo analizamos brevemente, parece ser relevante para cómo funcionan/qué necesita hacer para que funcionen hoy.

En cuanto al rendimiento:

Se podría esperar que los métodos de página para ofrecen un mejor rendimiento que los servicios Web. Después de todo, para resolver las llamadas al servicio web , el tiempo de ejecución de ASP.NET tiene que analizar paquetes SOAP. Esto, sin embargo, no es exactamente cierto. ASP.NET AJAX instala un controlador HTTP a medida (consulte la Figura 3) que intercepta todas las solicitudes ASMX . Las solicitudes con un sufijo/js se procesan de manera diferente, trabajando directamente con la carga útil JSON y el método de servicio web. Como resultado, no SOAP está involucrado en absoluto y el cuerpo de la solicitud simplemente contiene la secuencia JSON de argumentos de entrada. Para solicitudes que no son AJAX, el nuevo controlador HTTP simplemente delega la devolución de llamada en el controlador ASP.NET original que comprende SOAP.

En respuesta a la Página del ciclo de vida, Página Métodos hacer no pasan por el lado del servidor Página del ciclo de vida (también hay una client-side Page Lifecycle también).

+0

hey @Russ mismo artículo otra vez! – TheVillageIdiot

+0

@TheVillageIdiot - ¡No esperaba que volviera tan pronto! –

+0

@RussCam una pregunta de seguimiento, ¿PaginaMethods Async, o pueden hacerse Async? He topado con una pared donde una llamada de PageMethods (tarda unos 4 segundos en regresar) bloquea y evita que otras llamadas al método de página basadas en temporizador se ejecuten como se esperaba. –

Cuestiones relacionadas