ASP.NET WebHooks 和 Signal-R 之间的区别

Difference between ASP.NET WebHooks and Signal-R

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

这实际上取决于您要集成的服务以及集成方式。 WebHooks 是一种用于跨不同 SaaS 服务集成事件通知的简单模式。如果您要集成的服务支持 WebHooks,那么您可以使用它。如果它支持 SignalR,那么您可以使用它。从这个意义上说,两者是非常互补的。

检查 Henrik F Nielsen post 在 http://blogs.msdn.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx

SignalR 用于使用 WebSockets 在 ASP.NET 应用程序中进行通知。您可以通过 WebSockets 交换事件通知,但它需要持续的网络连接。

WebHooks 用于跨其他 Web 应用程序和其他外部服务的事件通知。 (想想 B2B 通信)。例如,当有人向您的 PayPal 帐户汇款时,您会收到一个 WebHook。 PayPal 向预定义的 URL 处理程序发出 POST 请求,然后您的应用会根据该通知执行某些操作。您首先在 PayPal 端预先配置所有内容。您还设置了一个应用程序来处理传入的 POST 请求。事件通知 "pushed" 以(近)实时的方式发送给您。等待事件时无需保持打开网络连接。

两者可以互补。例如,当您从 PayPal 收到 WebHook 时,您可以通知您的 webapp 上的登录用户(使用 SignalR/WebSockets)已成功收到钱。

TLDR:跨不同网络应用程序的事件通知