Передача данных из SQL Server в веб-приложение с помощью SignalR
Мое веб-приложение ASP.NET MVC 4 отображает часто обновляемые данные для клиента. Данные поступают из внешнего источника (приложения, установленного на сервере) и обрабатываются SQL Server 2008 R2.
В настоящее время поток данных довольно традиционный: клиенты опрашивают из ASP.NET, а ASP.NET, в свою очередь, опрашивает из SQL Server.
Чтобы избежать опроса (и теперь, когда мне требуется взаимодействие в реальном времени между пользователями веб-приложения), я меняю подход к push, используяsignalR
транслировать данные клиентам.
Это повышает плавность взаимодействия с пользователем, а также снижает издержки опроса между клиентами и сервером ASP.NET.
Теперь проблема заключается в обращении потока между SSRV и ASP.NET: я бы хотелpush the data from SSRV to ASP.NET наиболее эффективным способом.
SSRV выполняет дорогостоящие запросы для импорта некоторых внешних данных - и после обработки они также готовы к передаче через Интернет через широковещательную рассылку.
Мой текущий подход бедного человека: отправка запроса POST Http в веб-приложение (на локальный хост) для отправки данных (для этого я использую функцию CLR).
Как только данные обработаны, я упаковываю их дляHttpWebRequest
поставьте их в очередь в Service Broker, чтобы не повлиять на другие действия, и я это сделал.
Я списалSqlDependency
что заставило бы меня запросить данные - не большое преимущество (я бы обменял локальный HTTP-запрос на выполнение запроса на SQL Server)
В то же время я чувствую, что должен быть более аккуратный способ сделать это.
Какие-либо предложения?