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, Alehttp://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 
> 

Responder a