Meine ASP.NET MVC 4-Webanwendung zeigt häufig aktualisierte Daten für den Client an. Daten stammen von einer externen Quelle (eine auf dem Server installierte Anwendung) und werden von SQL Server 2008 R2 verarbeitet.Daten von SQL Server an Webanwendung mit SignalR übertragen
Derzeit ist der Datenfluss recht traditionell: Clients fragt ASP.NET ab, ASP.NET wiederum von SQL Server.
Um die Abfrage zu vermeiden (und jetzt, dass ich eine Echtzeit-Interaktion zwischen den Benutzern der Webanwendung benötige), ändere ich die Methode Push, wobei signalR
verwendet wird, um Daten an Clients zu senden. Dies erhöht die Benutzerfreundlichkeit und reduziert den Aufwand für die Abfrage zwischen Clients und ASP.NET-Server.
Das Problem ist jetzt invertieren den Fluss zwischen SSRV und ASP.NET: Ich möchte die Daten von SSRV zu ASP.NET auf die effizienteste Art und Weise zu schieben.
SSRV führt teure Abfragen durch, um einige externe Daten zu importieren - und sobald die Daten verarbeitet sind, sind sie auch bereit für die gemeinsame Nutzung über das Internet via Broadcast.
Mein aktueller armer Mann Ansatz: eine POST HTTP-Anfrage an die Web-Anwendung (auf localhost), um die Daten zu senden (Ich verwende eine CLR-Funktion dafür).
Sobald die Daten verarbeitet sind, packe ich sie bereit für die HttpWebRequest
, sie in einem Service Broker einreihen, um Auswirkungen auf die anderen Aktivitäten zu vermeiden, und ich bin fertig.
Ich habe abgeschriebene SqlDependency
wie mich für die Daten abzufragen zwingen würde - keine großer Vorteil
Zur gleichen Zeit (ich würde eine localhost HTTP-Anforderung für eine Abfrage ausführen, auf dem SQL Server abwägen) Ich fühle mich Es sollte einen besseren Weg geben, dies zu tun.
Irgendwelche Vorschläge?
die Jungs von SignalR habe freundlich half mir mit ein paar Bemerkungen über diesen Ansatz gegen Plain POST - Sie können den Thread [hier] lesen (https://github.com/SignalR/SignalR/issues/626) – eddo
Sind Sie direkt Serving Daten von SQL Server ** Clr dll ** (SignalR Server) zu signalisieren R Clients? Welche Art von vs-Projekt ist diese DLL? Klassenbibliothek oder SQL Server-Datenbankprojekt? – ibubi