Mejorar la velocidad de las llamadas a los Servicios Web

Si de algo pecan los servicios web es que pueden resultar demasiado lentos para trabajos que supongan una carga intensiva, como por ejemplo, la importación masiva de registros a Microsoft Dynamics CRM. Recientemente he tenido algunos problemillas por culpa de esto, y buscando por Internet he encontrado este post de Aaron Elder (Invoke Systems), en el que nos proponen formas de aumentar la velocidad de las llamadas a los servicios web. Os recomiendo que le echéis un vistazo, sobre todo si estáis realizando algún desarrollo que haga una utilización intensiva de los servicios web de Microsoft CRM.


En el post se proponen varios métodos sencillos que permiten optimizar las llamadas a servicios web en .NET, y hacen una comparación de tiempos donde podemos comprobar la mejoría. El mejor resultado se obtiene utilizando el modo Unsafe en la llamada al servicio web junto con algunas optimizaciones de IIS, pero no lo uséis a la ligera ya que el modo Unsafe permite que usuarios con distintas credenciales utilicen una misma conexión para hacer llamadas a los servicios web. En el propio post ya advierten sobre estos peligros, aunque como bien explican, para el caso de una herramienta de importación masiva que utiliza un único usuario de CRM no supone ningún problema.


Ejemplo:







1
2
3
4
CrmService crm = new CrmService();
crm.Credentials = System.Net.CredentialCache.DefaultCredentials;
crm.Url = “http://192.168.1.25/MSCRMServices/2006/CrmService.asmx”;
crm.UnsafeAuthenticatedConnectionSharing = true; //Modo Unsafe Activado


Saludos,


Marco Amoedo

Un comentario en “Mejorar la velocidad de las llamadas a los Servicios Web”

  1. QUE TAL AMIGO.. ESTUVE LEYENDO EL ARTICULO PERO NO ENTENDI MUCHO, TENGO UNA APLICACION DISEÑADA EN VFP U MEGUSTARIA TENER UN MAYOR RENDIMIENTO DEL SERVICIO.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *