繁体   English   中英

使用SignalR在多个Web应用程序之间进行通

[英]Communication between multiple web applications using SignalR

我有两个不同的Web应用程序需要彼此通信(我目前可以通过使用Silverlight Duplex来完成,但这不能很好地扩展)。 在阅读了SignalR之后,我想尝试一下,但没有找到关于如何做到这一点的大量文档。 任何关于ho入门的建议都将不胜感激。

谢谢!

更具体的信息:示例:应用程序A(出价界面) - 允许多个最终用户对某些项目进行出价的网页。

应用程序B(管理界面) - 允许用户(或可能是多个用户)监视/控制来自Bidding Interface的操作的Web页面。

因此,当应用程序A的用户对某件作品进行出价时,我需要一种方法来提醒应用程序B已经出价。 然后从应用程序B,如果用户选择接受出价,我需要向应用程序A发回警报(更新当前价格,增加出价等...)

老实说,让每个应用程序通过标准服务调用(WCF,ASMX,HTTP处理程序端点,MVC控制器等)将通知推送到彼此可能更简单。 SignalR在浏览器到服务器通信中很有用,因为没有一致的方法可以从服务器推送到连接的浏览器。 但是从网络应用到网络应用推送很简单; 应用程序A只调用应用程序B上的服务端点,以通知它发生的事情。

假设你想要的东西是......

用户(浏览器)---应用程序A ---应用程序B ---用户(浏览器)

通过执行以下操作可以实现实时通信......

这不是signalR的工作,但像NServiceBus这样的东西很适合。

您引用总线DLL文件,集线器可以引发和响应事件。 在您的情况下,您可以将SignalR和Service Bus技术协同工作,以允许跨应用程序同步。

所以这个过程就像......

  1. 应用程序A中的用户激活浏览器并请求页面。
  2. 应用程序A创建在内部订阅服务总线事件的Hub实例
  3. 应用程序B中的用户启动浏览器并请求页面。
  4. 应用程序B创建内部订阅服务总线事件的Hub实例
  5. 任一应用程序上的用户都会执行某些操作,从而导致SignalR接收消息。
  6. SignalR引发总线事件,说“服务总线上有这个用户做了什么”。
  7. 其他应用程序中的其他应用程序通过订阅事件获得事件通知,并采取任何操作通知其连接用户。

在这里要学习的经验......不要试图让技术做出超出其目的的东西......使用正确的工具来完成工作。

在获得核心框架设置后,可以使用大约20行代码完成整个解决方案。

NServiceBus可以在这里找到:

http://particular.net/nservicebus

免责声明:可能还有其他解决方案,但这一建议并不认为这是解决这个问题的唯一方法,也是唯一可以这种方式使用的技术。 我不与Any或NServiceBus产品有任何关联。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM