首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SignalR在多个web应用程序之间进行通信

使用SignalR在多个web应用程序之间进行通信
EN

Stack Overflow用户
提问于 2011-10-12 00:45:28
回答 2查看 2.4K关注 0票数 6

我有两个不同的web应用程序需要相互通信(我目前可以通过使用Silverlight Duplex来实现,但伸缩性不是很好)。在阅读了有关SignalR的内容后,我想尝试一下,但是没有找到很多关于如何做到这一点的文档。任何关于ho入门的建议都将不胜感激。

谢谢!

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

应用程序B(管理界面)-允许用户(或可能是多个用户)从竞价界面监控/控制操作的网页。

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

EN

回答 2

Stack Overflow用户

发布于 2011-10-15 01:54:20

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

票数 3
EN

Stack Overflow用户

发布于 2014-09-12 16:17:04

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

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

实时通信可以通过执行以下操作来完成...

这不是signalR的工作,但是像NServiceBus这样的东西非常适合这一点。

引用总线dll文件,集线器既可以引发事件,也可以响应事件。在您的案例中,您应该让SignalR和您的服务总线技术协同工作,以允许跨应用程序同步。

所以这个过程是这样的。

应用程序A中的

  1. 用户启动浏览器并请求页面。
  2. 应用程序A创建在内部订阅服务总线事件的集线器实例,应用程序B中的
  3. 用户触发浏览器和请求页面。
  4. 应用程序B创建集线器实例,该实例在内部订阅服务总线事件
  5. 用户在任一应用程序上执行某些操作,导致SignalR拾取消息。
  6. SignalR会引发bus事件,在服务总线上说“此用户做了一些事情”。通过订阅事件,
  7. 其他应用程序上的其他集线器将收到该事件的通知,并采取任何操作将该事件通知其连接的用户。

在这里可以学到的一课...不要试图让一项技术做一些超出其目的的事情。使用合适的工具来完成工作。

完成核心框架设置后,只需20行左右的代码即可完成整个解决方案。

NServiceBus可以在这里找到:

http://particular.net/nservicebus

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7729542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档