Entiendo Diego,

Me temo que no vas a poder ir por ese camino salgo que toques la configuracion
de cada cliente. Esto puede ser posible o no, dependiendo de cómo sea tu
universo de clientes.

Te cuendo otra idea que se me ocurre para resolverlo, por ahí te sirve para
pensar otra solucion.

Desde el cliente llamaria a un solo webservice que devuelve todos los
indicadores para ese panel (XML o JSON que contenga todos los valores).

Ese web service puede hacer todas las consultas en paralelo a una segunda capa
de webservices o directamente la consultas en paralelo en las diferentes bases
de datos. En esta linea creo que pueden ser muy utiles los metodos asincronicos
implementados del lado del server [1].

Este enfoquem ademas, podria permitirte almacenar los valores en cache y
devolver la copia almacenada si no es necesario calcular una nueva.

Carlos Peix

[1] Server-Side Asynchronous Web Methods
http://msdn2.microsoft.com/en-us/library/aa480516.aspx

Carlos Peix 

> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On 
> Behalf Of [EMAIL PROTECTED]
> Sent: Jueves, 20 de Marzo de 2008 04:56 p.m.
> To: [email protected]
> Subject: [puntonet] Llamada a WS concurrentes
> 
> Carlos:
>       Te entiendo, con lo de las peticiones pero no lo puedo 
> lograr, para estar seguro que es asi
>       Me imagino que eciste un thread por cada sesion y las 
> peticiones se encolan, oalgo similar a ese funcionamiento es 
> lo que detecto
> 
>       Con respeto a tu solucion, no lo puedo aplicar debido a 
> que el problema es distinto
>       Basicamente es asi
>       - Tenemos un Tablero de Comandos, ese panel posee 
> varios indicadores donde cada uno de ellos es una consulta a 
> una base de datos
>               Panel1: 
>                       Indicador1: BaseDatos=Test1 -SQL=Select 
> * from Cliente
>                       Indicador2: BaseDatos=Test1 -SQL=Select 
> * from Facturas
>                       Indicador3: BaseDatos=TestDOS 
> -SQL=Select * from Auditoria
> 
>               Los indicadores pueden consultar a distintas 
> bases de datos
>               Ahora bien, el Panel tiene un boton ejecutar 
> que lo que hace, es recorrer cada uno de los indicadores y 
> llamar a un WS:
> ESIndicador.asmx y alli al metodo ExecuteIndicador (IDIndicador)
>               La idea es lanzar todas las ejecuciones en 
> simultaneo, asi el tiempo de respuesta al usuario es menor, 
> pero lo que nos sucede, que por mas que realicemos la 
> invocacion del WS, el cliente la slanzó, pero el WS no las 
> procesa todas juntas, sino que termina una y continua con la 
> sig, y asi
>               
>               Pensamos que era nuestro cliente, por eso 
> usamos el browser directamente, para hacer varias llamadas, y 
> efectivamente hace una a una. LE pusimos lineas de Debug para 
> ir viendo la ejecucion y hace
>               INI indicador1
>               FIN indicador1
>               INI indicador2
>               FIN indicador2
>               INI indicador3
>               FIN indicador3
> 
> 
>               Cuando lo que queremos es que haga los tres INI 
> y luego cada una finalice a su tiempo.


Responder a