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