我的 ASP.NET MVC 4 Web 应用程序向客户端显示频繁更新的数据。数据来自外部源(安装在服务器上的应用程序),并由 SQL Server 2008 R2 处理。
目前,数据流相当传统:客户端从 ASP.NET 轮询,而 ASP.NET 再从 SQL Server 轮询。
为了避免轮询(现在我需要 Web 应用程序用户之间的实时交互),我正在改变方法以使用 signalR 进行推送,将数据广播给客户端。这增加了用户体验的流畅度,并减少了客户端和 ASP.NET 服务器之间轮询的开销。
问题在于反转 SSRV 和 ASP.NET 之间的流程:我想以最有效的方式从 SSRV 推送数据到 ASP.NET。
SSRV 正在运行昂贵的查询以导入一些外部数据 - 一旦数据被处理,它们也准备通过广播共享到互联网上。
我的当前简陋方法:向 Web 应用程序发出 POST Http 请求(在本地主机上)以发送数据(我使用 CLR 函数进行操作)。
一旦数据被处理,我将它们打包好准备使用 HttpWebRequest,将它们排队在服务代理中,以避免影响其他活动,然后完成操作。
我已经放弃了 SqlDependency,因为它会强制我查询数据 - 这不是一个很大的优势(我会用在 SQL Server 上运行的查询代替本地主机 HTTP 请求)。
同时,我感觉应该有更简洁的方法来完成这个功能。您有什么建议吗?
目前,数据流相当传统:客户端从 ASP.NET 轮询,而 ASP.NET 再从 SQL Server 轮询。
为了避免轮询(现在我需要 Web 应用程序用户之间的实时交互),我正在改变方法以使用 signalR 进行推送,将数据广播给客户端。这增加了用户体验的流畅度,并减少了客户端和 ASP.NET 服务器之间轮询的开销。
问题在于反转 SSRV 和 ASP.NET 之间的流程:我想以最有效的方式从 SSRV 推送数据到 ASP.NET。
SSRV 正在运行昂贵的查询以导入一些外部数据 - 一旦数据被处理,它们也准备通过广播共享到互联网上。
我的当前简陋方法:向 Web 应用程序发出 POST Http 请求(在本地主机上)以发送数据(我使用 CLR 函数进行操作)。
一旦数据被处理,我将它们打包好准备使用 HttpWebRequest,将它们排队在服务代理中,以避免影响其他活动,然后完成操作。
我已经放弃了 SqlDependency,因为它会强制我查询数据 - 这不是一个很大的优势(我会用在 SQL Server 上运行的查询代替本地主机 HTTP 请求)。
同时,我感觉应该有更简洁的方法来完成这个功能。您有什么建议吗?