ASP.NET WebHooks 和 SignalR 的区别

58

新发布的ASP.NET WebHooks和Signal-R有什么区别?它们各自的优缺点是什么?每种技术的使用案例是什么?

2个回答

61

SignalR是通过WebSockets在ASP.NET应用程序内部进行通知的。您可以通过WebSockets交换事件通知,但这需要一个不断的网络连接。

WebHooks是用于跨其他Web应用程序和其他外部服务进行事件通知的。(考虑B2B通信)。例如,当有人向您的PayPal账户发送资金时,您可以接收到WebHook。 PayPal向您预定义的URL处理程序发送POST请求,然后您的应用程序会对该通知执行某些操作。您首先在PayPal侧预配置所有内容。您还设置应用程序来处理传入的POST请求。事件通知以(近乎)实时的方式“推送”给您。在等待事件时无需保持打开网络连接。

这两个可以互补使用。例如,当您从PayPal收到WebHook时,可以使用SignalR/WebSockets通知已登录的Web应用程序用户成功收到了资金。

简而言之:跨不同Web应用程序进行事件通知。


什么对于移动应用更合适?例如,如果我有一个带有本地SQLite和云数据库的移动应用程序。每当我更改某些内容时,我希望我的本地SQLite得到更新。 - Emil

2

但是如果我今天必须选择一些事件通知的东西,你会选择哪一个?为什么? - Muhammad Rehan Saeed
4
这取决于您是否需要实时不间断的更新(使用SignalR),或者订阅未来可能发生的事件更新(使用WebHooks)。 - Lee Dale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接