Métodos asincrónicos del servicio web XML
Debería considerar la exposición de los métodos de servicio web como asincrónicos, los cuales invocan métodos de ejecución prolongada que bloquean su subproceso; esto mejorará el rendimiento de dichos métodos. Implementar un método de servicio web asincrónico permite a ese subproceso ejecutar otro código cuando se devuelve al grupo de subprocesos. Esto permite la ejecución de un subproceso más que el número limitado de subprocesos en el grupo, mejorando el rendimiento total y la escalabilidad del sistema.
Para una explicación paso a paso de cómo convertir un método de servicio web en un par de métodos diseñados para el acceso asincrónico, vea Cómo: Crear métodos de servicios web asincrónicos. Para obtener otro ejemplo de código, vea Cómo: Encadenar llamadas asincrónicas con un método de servicio Web.
En general, los métodos de servicio web que llaman a los métodos que realizan las operaciones de E/S son buenos candidatos para la implementación asincrónica. Los ejemplos de tales métodos incluyen métodos que comunican con otros servicios web, acceden a las bases de datos remotas, realizan la red E/S y leen y escriben los archivos grandes. Todos estos métodos gastan el volumen de su horario ejecutándose en hardware, lo cual bloquea el subproceso para ejecutar el método de servicio web. Ese subproceso se puede liberar para ejecutar otro código si se implementa el método de servicio web de forma asincrónica.
Sin tener en cuenta si se implementa un método de servicio web de forma asincrónica, los clientes pueden comunicarse de forma asincrónica con él. La comunicación asincrónica se expone a los clientes .NET dentro de la clase de proxy que es generada por la herramienta Lenguaje de descripción de servicios web (WSDL.EXE), aun cuando se implementa un método de servicio web sincrónicamente. La clase de proxy contiene los métodos Comienzo y Fin para comunicarse de forma asincrónica con cada método de servicio web. Por consiguiente, la decisión para implementar de forma asincrónica o sincrónicamente un método de servicio web debería estar basada en el rendimiento.
Nota: |
---|
La implementación de un método de servicio web asincrónico no tiene ningún impacto en la conexión HTTP entre el cliente y el servidor que hospeda el servicio web. La conexión HTTP no está cerrada ni agrupada. |
Consulte también
Tareas
Cómo: Crear métodos de servicios web asincrónicos
Cómo: Encadenar llamadas asincrónicas con un método de servicio Web
Conceptos
Comunicar de forma asincrónica con servicios web XML
Otros recursos
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.