Mi aplicación web ASP.NET MVC 4 muestra datos actualizados con frecuencia al cliente. Los datos provienen de una fuente externa (una aplicación instalada en el servidor) y son procesados por SQL Server 2008 R2.Introducción de datos desde el servidor SQL a la aplicación web con SignalR
Actualmente, el flujo de datos es bastante tradicional: los clientes sondean desde ASP.NET, ASP.NET sondea a su vez desde SQL Server.
Para evitar el sondeo (y ahora que necesito una interacción en tiempo real entre los usuarios de la Aplicación web), estoy cambiando el enfoque de push, usando signalR
para transmitir datos a los clientes. Esto aumenta la suavidad de la experiencia del usuario y también reduce la sobrecarga del sondeo entre los clientes y el servidor ASP.NET.
El problema ahora es invertir el flujo entre SSRV y ASP.NET: me gustaría enviar los datos de SSRV a ASP.NET de la manera más eficiente.
SSRV ejecuta consultas costosas para importar algunos datos externos, y una vez que se procesan los datos, también están listos para compartirlos a través de Internet a través de la transmisión.
El enfoque de mi pobre actual: emitir una solicitud POST Http a la Aplicación Web (en el servidor local) para enviar los datos (estoy usando una función CLR para eso).
Una vez que los datos se procesan, los preparo listos para el HttpWebRequest
, los pongo en una cola de servicios para evitar afectar las otras actividades y listo.
me han cancelado SqlDependency
que yo obligaría a una consulta de los datos - no es una gran ventaja (que cambiaría de una solicitud localhost HTTP para una carrera de consulta en SQL Server)
Al mismo tiempo me siento debería haber una manera más ordenada de hacer esto.
¿Alguna sugerencia?
los chicos de SignalR tener amablemente me ayudó con algunas observaciones sobre este enfoque contra el POST simple: puede leer el hilo [aquí] (https://github.com/SignalR/SignalR/issues/626) – eddo
¿Está sirviendo directamente datos de ** clr dll del servidor sql? ** (servidor de señalR) a los clientes de señalR? ¿Qué tipo de vs proyecto es este dll? ¿Biblioteca de clases o proyecto de base de datos de servidor Sql? – ibubi