Muchas gracias a todos por las respuestas. Les comento que de momento (lo estamos testeando bien) lo solucionamos con cacheo Sql Server que nos caduca cada vez que se modifica una tabla en particular, y complementamos consultando un flag mediante Ajax desde las paginas clientes, si el flag se modificó, recién ahí recargamos la pagina. Aprovechamos que el cacheo mediante Sql Server crea unas tablas propias de Asp.net para manejarlo, donde va guardando un numero incremental cada vez que la tabla monitoreada cambia, este valor es el flag que consultamos.
Saludos y gracias Dario El 14 de julio de 2011 08:28, Pablo Crivaro <[email protected]> escribió: > Yo tengo implementado varios sistemas para monitorización de parques de > energía solar y tengo en funcionamiento algo parecido a lo que necesitas. > > Lo resolví más o menos como te lo explicaron más abajo, sin el flag, es > decir, hago un pooling a la base de datos cada cierto tiempo (en tu caso 7 > segundos) se hallan o no actualizado los datos y almaceno en cache esos > datos. Los clientes que se conecten, veran los datos de la cache SIEMPRE, > los clientes no hacen ni una consulta a la base, la consulta la hace la > aplicación. > > No hablo de una cache a nivel session, sino de aplicación. > > Saludos. > > Pablo > > > --- El *sáb 9-jul-11, Cristian <[email protected]>* escribió: > > > De: Cristian <[email protected]> > Asunto: [puntonet] RE: [puntonet] Página con información Online > Para: [email protected] > Fecha: sábado, 9 de julio de 2011, 2:56 > > La respuesta de Ale es totalmente válida, del lado servidor hacés una > consulta al SQLServer cada x segundos (o incluso si tenés controlada la > actualización de la base desde tu misma aplicación disparás un evento sobre > cada update) implementando un caché en IIS más un ticket (por usuario puede > consumir mucha memoria), y entonces desde cada cliente hacés una consulta > ajax a ese ticket que indica que el caché ha sido modificado y sólo entonces > todos los clientes hacen la actualización sobre ese caché. > > > > *From:* [email protected] [mailto:[email protected]] *On Behalf Of * > [email protected] > *Sent:* Friday, July 08, 2011 5:46 PM > *To:* [email protected] > *Subject:* [puntonet] Página con información Online > > > > Hola Darío, yo alguna vez hice algo similar, pero utilizando .NET Remoting > y clientes Windows. Era básicamente una implementación del patrón observer > donde había un objeto remoto que se encargaba de consultar la base de > datos cada 'X' tiempo y si detectaba cambios notificaba a los 'N' > clientes subscriptos al objeto remoto (transparent_proxy). En ese caso el > único objeto que iba contra la base era el objeto "vivo" del lado del > servidor y generaba tráfico únicamente cuando había datos para actualizar. > > Si podes utilizar un cliente no web, esto te puede llegar a servir, no se > me ocurre como se podría implementar algo similar en ASP.NET..... > > > > Saludos, Ale > > http://amiralles.com.ar > > > > > Hola, estoy con un problema y me gustaría si alguien tuvo una experiencia > > > similar me de una mano. > > > > Necesito una aplicación en lo posible Web, es decir, una pagina que > > refresque datos en una grilla, cada N segundos (en principio 7seg), con > > información que se puede ir actualizando paulatinamente en una Base de > Datos > > (SQL Server 2008). > > > > El gran problema, es que además esta pagina puede estar abierta en varias > > > pc´s, con lo cual, estamos incrementando mucho el uso de recursos del > > Servidor IIS, llegando en ocasiones a colapsar, dado que además soporta > > otras tareas. > > > > Tendría que ser una solución que me permita de forma mas eficiente solo > > refrescar la pagina, cuando la info en la BD sea modificada. > > > > ¿Alguna recomendación por favor? > > > > > Desde ya muchas gracias > > > >
